gridview

Mattepuffo's logo
Usare le GridView in Flutter

Usare le GridView in Flutter

Il GridView è un componente di Flutter che ci permette di creare un layout a griglia in maniera molto semplice.

In questo articolo vediamo come usarlo; non prenderemo i dati da una sorgente remote, ma avremo una lista creata a mano nel codice.

Cominciamo con il model del nostro oggetto (book.dart).

Mattepuffo's logo
DataGridView TextBox filter in C#

DataGridView TextBox filter in C#

Dopo aver aggiunto i dati nella nostra GridView (ad esempio tramite XML come vedete qui), può capitare di voler creare un meccanismo di filtraggio, soprattutto in presenza di molti dati.

Possiamo creare un meccanismo attraverso il quale cercare nella GrdiView in base a ciò che scriviamo in una TextBox, il tutto in tempo reale.

Prima di tutto aggiungete una TextBox al Form dove c'è la GridView.

Mattepuffo's logo
DataGridView da XML in C#

DataGridView da XML in C#

Il .NET Framework per certi versi è davvero ottimo.

Quello che vediamo oggi è come riempire una GridView da dati presi da un file XML.

Come potremo vedere, la cosa sarà molto semplice (soprattutto se non abbiamo pretese di personalizzazione); così semplice che neanche vi dirò com'è strutturato il file.

Ovviamente, in questo semplice esempio, verranno create tante colonne quanti sono i campi presenti nel file.

Quindi questo dipende anche dalle vostre esigenze.

Inoltre il progetto si basa su un Windows Form classico (l'ho preferito al WPF).

Bene, prima di tutto trasciniamo nella finestra un oggetto DataGridView.

Mattepuffo's logo
Esportare DataGridView in Excel

Esportare DataGridView in Excel

In un altro articolo abbiamo visto come esportare una DataGridView in formato TXT.

Ora vediamo come esportarla in formato Excel, sicuramente più comodo da visualizzare rispetto al TXT.

Prima di tutto nel nostro progetto dobbiamo aggiungere una referenza.

Cliccate col tasto destro sul progetto -> Aggiungi riferimento -> .NET -> Microsoft.Interop.Excel

A qusto punto ho aggiunto un Item nel menu con questo evento:

private void saveXLSToolStripMenuItem_Click(object sender, EventArgs e)
{
    DialogSalvaXls dlg = new DialogSalvaXls();
    dlg.dialog(dataGridViewEntrate);
}

Non faccio altro che lanciare un SaveFileDialog e passargli la DataGridView da esportare.

Per il SaveFileDialog potete guardare qua.

Mattepuffo's logo
Stampare con C#

Stampare con C#

Mnetre stampare una JTable in Java è piuttosto semplice, stampare una DataGridView in C# non è così immediato.

Prima di tutto nel Windows Form aggiungete un oggetto PrintDocument.

Ve lo ritroverete in basso; selezionatelo e nelle proprietà impostate il DocumentName e tra gli eventi impostate l'evento PrintPage.

L'evento sarà una cosa del genere:

private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
    Bitmap bm = new Bitmap(this.dataGridViewEntrate.Width, this.dataGridViewEntrate.Height);
    Rectangle rc = new Rectangle(0, 0, this.dataGridViewEntrate.Width, this.dataGridViewEntrate.Height);
    dataGridViewEntrate.DrawToBitmap(bm, rc);
    e.Graphics.DrawImage(bm, 0, 0);
}

In pratica definiamo l'area da stampare e trasformiano la DataGridView in una Bitmap.

Per fare le cose per bene aggiungiamo anche un oggetto PrintDialog e nelle proprietà impostiamo Document impostando printDocument1....(controllate anche le opzioni che sono interessanti).