Differenze tra le versioni di "Cambiare il colore di fondo di una riga cliccata in una GridView e far tornare quello di un'altra al colore iniziale"
Da Gambas-it.org - Wikipedia.
Riga 2: | Riga 2: | ||
Si potrà adottare il seguente codice: | Si potrà adottare il seguente codice: | ||
− | + | Public Sub Form_Open() | |
Dim b As Byte | Dim b As Byte | ||
Riga 16: | Riga 16: | ||
Next | Next | ||
− | + | End | |
− | + | Public Sub GridView1_Click() | |
Dim j, k As Byte | Dim j, k As Byte | ||
Riga 37: | Riga 37: | ||
Next | Next | ||
− | + | End | |
==Uso dei tasti ''Giù'' e ''Su'' della tastiera== | ==Uso dei tasti ''Giù'' e ''Su'' della tastiera== | ||
Se si intendono utilizzare i tasti ''Giù'' e ''Su'' della tastiera, anziché il mouse, un possibile codice è il seguente: | Se si intendono utilizzare i tasti ''Giù'' e ''Su'' della tastiera, anziché il mouse, un possibile codice è il seguente: | ||
− | + | Public Sub Form_Open() | |
Dim b As Byte | Dim b As Byte | ||
Riga 58: | Riga 58: | ||
GridView1.Row = 0 | GridView1.Row = 0 | ||
− | + | End | |
− | + | Public Sub GridView1_KeyPress() | |
Dim j, k As Byte | Dim j, k As Byte | ||
Riga 97: | Riga 97: | ||
End Select | End Select | ||
− | + | End | |
− | |||
I codici dei due paragrafi precedenti possono essere anche semplicemente congiunti per ottenere l'effetto sia con il mouse che con i tasti. | I codici dei due paragrafi precedenti possono essere anche semplicemente congiunti per ottenere l'effetto sia con il mouse che con i tasti. |
Versione attuale delle 16:09, 22 giu 2024
Il caso è quello in cui in una GridView ogni qual volta si clicca all'interno di una sua riga, questa si colora, ed un'altra riga, precedentemente colorata, torna ad assumere il colore predefinito.
Si potrà adottare il seguente codice:
Public Sub Form_Open() Dim b As Byte With GridView1 .Columns.Count = 4 .Rows.Count = 4 End With ' All'inizio la prima riga in alto assume il colore giallo: For b = 0 To GridView1.Columns.Max GridView1[0, b].Background = &FFFF00 Next End Public Sub GridView1_Click() Dim j, k As Byte ' Viene attribuito il colore predefinito a tutte le righe: With GridView1 For k = 0 To .rows.Max For j = 0 To .Columns.Max GridView1[k, j].Background = Color.Default Next Next End With ' Viene quindi attribuito il colore giallo alla riga cliccata: For j = 0 To GridView1.Columns.Max GridView1[GridView1.Row, j].Background = &FFFF00 Next End
Uso dei tasti Giù e Su della tastiera
Se si intendono utilizzare i tasti Giù e Su della tastiera, anziché il mouse, un possibile codice è il seguente:
Public Sub Form_Open() Dim b As Byte With GridView1 .Columns.Count = 4 .Rows.Count = 4 End With ' All'inizio la prima riga in alto assume il colore giallo: For b = 0 To GridView1.Columns.Max GridView1[0, b].Background = &FFFF00 Next GridView1.Row = 0 End Public Sub GridView1_KeyPress() Dim j, k As Byte With GridView1 For k = 0 To .rows.Max For j = 0 To .Columns.Max GridView1[k, j].Background = Color.Default Next Next End With Select Case Key.Code Case Key.Down If GridView1.Row + 1 < GridView1.Rows.Count Then For j = 0 To GridView1.Columns.Max GridView1[GridView1.Row + 1, j].Background = &FFFF00 Next Else For j = 0 To GridView1.Columns.Max GridView1[GridView1.Row, j].Background = &FFFF00 Next Endif Case Key.Up If GridView1.Row - 1 > -1 Then For j = 0 To GridView1.Columns.Max GridView1[GridView1.Row - 1, j].Background = &FFFF00 Next Else For j = 0 To GridView1.Columns.Max GridView1[GridView1.Row, j].Background = &FFFF00 Next Endif End Select End
I codici dei due paragrafi precedenti possono essere anche semplicemente congiunti per ottenere l'effetto sia con il mouse che con i tasti.