Gestire testo, colori e immagini nelle celle della GridView con l'Evento Data()
Gestione del testo
Per ottenere con l'Evento "_Data()" della GridView la visibilità del testo presente in una o più celle e la contestuale colorazione dello sfondo delle celle medesime, è necessario impostare il predetto testo preliminarmente rispetto alla sollevazione dell'Evento "_Data()". Il testo va inserito in una matrice di tipo Stringa di due dimensioni aventi ciascuna un numero di elementi pari rispettivamente al numero delle righe ed al numero di colonne previsto per la GridView. Il testo andrà distribuito all'interno di dette dimensioni ed elementi secondo la disposizione che dovrà assumere nella GridView.
Mostriamo un esempio pratico:
Private ss As New String[3, 3] Public Sub Form_Open() With GridView1 .Rows.Count = 3 .Columns.Count = 3 End With ' Imposta il testo nelle celle: ss[1, 0] = "Rosso" ss[1, 1] = "grassetto" ss[1, 2] = "corsivo" ss[2, 0] = "corsivo" ss[2, 1] = "Blu" ss[2, 2] = "grassetto" End Public Sub GridView1_Data(Row As Integer, Column As Integer) ' Gestisce il colore dello sfondo delle celle individuate: If (Row = 1) And (Column = 1) Then GridView1.Data.Background = Color.SetAlpha(&FF0000, 240) If (Row = 1) And (Column = 2) Then GridView1.Data.Background = Color.SetAlpha(&FFFF00, 240) If (Row = 2) And (Column = 1) Then GridView1.Data.Background = Color.SetAlpha(&00FF00, 240) If (Row = 2) And (Column = 2) Then GridView1.Data.Background = Color.SetAlpha(&0000FF, 240) ' Imposta alcune proprietà del font: If (Row = 1) And (Column = 0) Then GridView1.Data.Foreground = Color.Red If (Row = 1) And (Column = 1) Then GridView1.Data.Font.Bold = True If (Row = 1) And (Column = 2) Then GridView1.Data.Font.Italic = True If (Row = 2) And (Column = 0) Then GridView1.Data.Font.Italic = True If (Row = 2) And (Column = 1) Then GridView1.Data.Foreground = Color.Blue If (Row = 2) And (Column = 2) Then GridView1.Data.Font.Bold = True ' Assegna la variabile vettoriale contenente il testo: GridView1.Data.Text = ss[Row, Column] End
Assegnazione di dati contenuti in un array con numero di elementi inizialmente non-determinato
Se i dati stringa sono contenuti in un array con numero di elementi inizialmente non-determinato, del tipo "array[][]", allora nella routine dell'Evento "_Data", l'assegnazione dei dati sarà così impostata:
Public Sub GridView1_Data(Row As Integer, Column As Integer) GridView1.Data.Text = array[row][column] End
Gestione delle immagini
Per la gestione delle immagini, da mostrare in una o più celle della GridView, è sufficiente assegnare alla Proprietà ".Data.Picture" l'immagine prescelta:
Public Sub Form_Open() With GridView1 .Rows.Count = 3 .Columns.Count = 3 End With ' Adatta la cella [1, 1] alla dimensione dell'immagine che sarà caricata: GridView1.Rows[1].H = -1 GridView1.Columns[1].W = -1 End Public Sub GridView1_Data(Row As Integer, Column As Integer) If (Row = 1) And (Column = 1) Then GridView1.Data.Picture = Picture["icon:/32/apply"] End