Autore Topic: [RISOLTO] GridView cambiare colore sfondo della righe  (Letto 427 volte)

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
[RISOLTO] GridView cambiare colore sfondo della righe
« il: 25 Settembre 2014, 00:47:49 »
Ho copiato dal Wiki questo codice che permette di cambiare il colore dello sfondo della riga selezionata di una GridView
Codice: gambas [Seleziona]

Public Sub Form_Open()
 Dim f As Byte
 
  With GridView1  
    .Columns.Count = 4  
    .Rows.Count = 4
  End With  

' All'inizio, comunque, la prima riga assume il colore giallo:
  For f = 0 To GridView1.Columns.Max
    GridView1[1, f].Background = &FFFF00
  Next
End

Public Sub GridView1_MouseDown()
 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
    With GridView1[GridView1.Row, j]
      .Background = &FFFF00
    End With
  Next
 End


Se volessi ottenere lo stesso "effetto" utilizzando anche i tasti direzione freccia sù e freccia giù?
« Ultima modifica: 25 Settembre 2014, 21:04:45 da tornu »
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.724
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: GridView cambiare colore sfondo della righe
« Risposta #1 il: 25 Settembre 2014, 02:26:21 »
...un possibile codice è questo:

Codice: gambas [Seleziona]
Public Sub Form_Open()  

  Dim b As Byte 
     
   With GridView1   
     .Columns.Count = 4   
     .Rows.Count = 4 
   End With   
     
' All'inizio, comunque, la prima riga 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   
   
' 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 

   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
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline tornu

  • Gran Maestro dei Gamberi
  • *****
  • Post: 855
    • Mostra profilo
Re: GridView cambiare colore sfondo della righe
« Risposta #2 il: 25 Settembre 2014, 21:03:25 »
Puntuale e preciso come sempre... :ok:
Grazie
Il software è come il sesso, è meglio quando è libero. (Linus Torvalds)