Colorare la griglia della GridView
Come è noto, il colore delle linee che costituiscono la griglia interna dell'Oggetto GridView è fisso: sempre grigio. Non v'è una Proprietà diretta della GridView che possa cambiare il colore delle linee che distingono le varie celle della GridView.
Si può ottenere, comunque, questo risultato, tendendo presente che l'oggetto GridView è costituito anche da un Oggetto Figlio, il quale risulta essere una "ScrollArea", come si può notare dal seguente esempio:
Public Sub Form_Open() Dim ob As Object For Each ob In GridView1.Children Print Object.Class(ob).Name Next End
Dato ciò, per colorare la le linee costituenti la griglia di una GridView, sarà sufficiente assegnare al predetto Oggetto Figlio (la ScrollArea ), un valore relativo ad un colore.
Esempio:
Public Sub Form_Open() With GridView1 .Columns.Count = 4 .Rows.Count = 4 ' Coloriamo la griglia di colore rosso: .Children[0].Background = Color.Red End With End
Usando l'Evento "_Data()" e operando sulla Proprietà ".Border" della GridView
In tal caso avremo ad esempio:
Public Sub Form_Open() With GridView1 .Columns.Count = 4 .Rows.Count = 4 ' Nascondiamo le linee preimpostate della "GridView": ' [nota 1] .Grid = False End With End Public Sub GridView1_Data(Row As Integer, Column As Integer) ' Impostiamo le linee delle righe della "GridView": With GridView1.Rows[row].Border = New Border .Style = .Plain .Color = Color.Green If row < GridView1.Rows.Max Then .BottomStyle = .None .RightMargin = 1 End With ' Impostiamo le linee di ciascuna cella (e quindi creiamo le Colonne) della "GridView": With GridView1[row, Column].Border = New Border .Style = .Plain .Color = Color.Purple If Column < GridView1.Columns.Count Then .LeftStyle = .None If row < GridView1.Rows.Count Then .BottomStyle = .None End With End
Note
[1] Al riguardo vedere la seguente pagina: Nascondere le linee della griglia di una GridView