Differenze tra le versioni di "Assegnare colori allo sfondo ed al testo di una riga selezionata di una ColumnView"

Da Gambas-it.org - Wikipedia.
(Creata pagina con "Attualmente non è possibile assegnare ''direttamente'' - ossia da una proprietà - colori allo sfondo ed al testo di una sola riga selezionata di un oggetto ''ColumnView''....")
 
 
Riga 5: Riga 5:
  
 
Mostriamo un esempio pratico, nel quale verrà colorato di blu lo sfondo e di giallo il testo della riga cliccata di una ''ColumnView''. Lo sfondo ed il testo della riga precedentemente cliccata torna ai colori predefiniti.
 
Mostriamo un esempio pratico, nel quale verrà colorato di blu lo sfondo e di giallo il testo della riga cliccata di una ''ColumnView''. Lo sfondo ed il testo della riga precedentemente cliccata torna ai colori predefiniti.
  '''Public''' Sub Form_Open()
+
  Public Sub Form_Open()
 
    
 
    
 
   With ColumnView1
 
   With ColumnView1
Riga 17: Riga 17:
 
   End With
 
   End With
 
    
 
    
  '''End'''
+
  End
 
   
 
   
 
   
 
   
  '''Public''' Sub ColumnView1_Select()
+
  Public Sub ColumnView1_Select()
 
   
 
   
   Dim j As Byte
+
   Dim b As Byte
 
   Dim ob As Object
 
   Dim ob As Object
 
   
 
   
  <FONT Color=gray>' ''Assegnamo alla variabile di tipo oggetto il "figlio" (che è una "GridView") della "ColumnView":''</font>
+
  <FONT Color=gray>' ''Assegna alla variabile di tipo oggetto il "figlio" (che è una "GridView") della "ColumnView":''</font>
  ob = ColumnView1.Children[0]
+
  ob = ColumnView1.Children[0]
 
    
 
    
  <FONT Color=gray>' ''Assegnamo i colori di base allo sfondo della "GridView-figlio" e al testo presente nella  "ColumnView":''</font>
+
  <FONT Color=gray>' ''Assegna i colori di base allo sfondo della "GridView-figlio" e al testo presente nella  "ColumnView":''</font>
  For j = 0 To ob.Rows.Max
+
  For b = 0 To ob.Rows.Max
    ob[j, 0].Background = Color.Default
+
    ob[b, 0].Background = Color.Default
    ColumnView1[j + 1].Richtext = "&lt;FONT Color=#212121>" & ColumnView1[j + 1].text
+
    ColumnView1[j + 1].Richtext = "&lt;FONT Color=#212121>" & ColumnView1[j + 1].text
  Next
+
  Next
 
    
 
    
  <FONT Color=gray>' ''Assegnamo il colore blu allo sfondo della riga cliccata della "GridView-figlio":''</font>
+
  <FONT Color=gray>' ''Assegna il colore blu allo sfondo della riga cliccata della "GridView-figlio":''</font>
  ob[ob.Row, 0].Background = &0000FF
+
  ob[ob.Row, 0].Background = &0000FF
 
    
 
    
  <FONT Color=gray>' ''Assegnamo il colore giallo al testo presente nella riga cliccata della "ColumnView":''</font>
+
  <FONT Color=gray>' ''Assegna il colore giallo al testo presente nella riga cliccata della "ColumnView":''</font>
  ColumnView1[ob.Row + 1].Richtext = "&lt;FONT Color=#FFFF00>&lt;B>" & ColumnView1[ob.Row + 1].text
+
  ColumnView1[ob.Row + 1].Richtext = "&lt;FONT Color=#FFFF00>&lt;B>" & ColumnView1[ob.Row + 1].text
 
    
 
    
  '''End'''
+
  End

Versione attuale delle 11:13, 10 giu 2024

Attualmente non è possibile assegnare direttamente - ossia da una proprietà - colori allo sfondo ed al testo di una sola riga selezionata di un oggetto ColumnView.

Per superare questo ostacolo si può adottare uno stratagemma, basandosi sulla circostanza che l'oggetto ColumnView è composto anche dall'oggetto GridView. Pertanto, si potrà agire sull'oggetto GridView, figlio della ColumnView per impostare il colore dello sfondo della riga selezionata (cliccata) della ColumnView; e si potrà, però, agire sull'item selezionato della ColumnView (in tal caso l'assegnazione del colore è diretto) per imporre al testo in esso presente il colore prescelto.


Mostriamo un esempio pratico, nel quale verrà colorato di blu lo sfondo e di giallo il testo della riga cliccata di una ColumnView. Lo sfondo ed il testo della riga precedentemente cliccata torna ai colori predefiniti.

Public Sub Form_Open()
 
 With ColumnView1
   .Add("1", "Riga_1")
   .Add("2", "Riga_2")
   .Add("3", "Riga_3")
   .Add("4", "Riga_4")
   .Add("5", "Riga_5")
   .Add("6", "Riga_6")
   .Add("7", "Riga_7")
 End With
 
End


Public Sub ColumnView1_Select()

 Dim b As Byte
 Dim ob As Object

' Assegna alla variabile di tipo oggetto il "figlio" (che è una "GridView") della "ColumnView":
 ob = ColumnView1.Children[0]
  
' Assegna i colori di base allo sfondo della "GridView-figlio" e al testo presente nella  "ColumnView":
 For b = 0 To ob.Rows.Max
   ob[b, 0].Background = Color.Default
   ColumnView1[j + 1].Richtext = "<FONT Color=#212121>" & ColumnView1[j + 1].text
 Next
  
' Assegna il colore blu allo sfondo della riga cliccata della "GridView-figlio":
 ob[ob.Row, 0].Background = &0000FF
  
' Assegna il colore giallo al testo presente nella riga cliccata della "ColumnView":
 ColumnView1[ob.Row + 1].Richtext = "<FONT Color=#FFFF00><B>" & ColumnView1[ob.Row + 1].text
  
End