:ciao:
stavo provando ad usare una CoumnView, e in particolare l'esempio descritto al CAP8 di A Beginner's Guide to Gambas che riporto qui sotto. I valori della prima colonna risultano allinati a destra contrariamente a quelli delle altre colonne. Non riesco a capire perchè. C'è qualcuno che ha qualche suggerimento?
' Gambas class file
Public Sub _new()
Dim iwidth As Integer
Dim irowcounter As Integer
Dim icolcounter As Integer
ColumnView1.Columns.count = 3
iwidth = ColumnView1.Width / ColumnView1.Columns.Count
ColumnView1.Columns[0].Alignment = Align.left
ColumnView1.Columns[0].Width = iwidth
ColumnView1.Columns[0].text = "Data"
ColumnView1.Columns[1].Width = iwidth
ColumnView1.Columns[1].text = "Valore"
ColumnView1.Columns[2].Width = iwidth
ColumnView1.Columns[2].text = "Stato"
For irowcounter = 0 To 4 'crea 5 righe
ColumnView1.Add(irowcounter, icolcounter)
For icolcounter = 0 To ColumnView1.Columns.Count - 1 'crea le colonne
ColumnView1[irowcounter][icolcounter] = "Col: " & icolcounter & "Row: " & irowcounter
Next 'column
Next 'row
End 'our constructor
:ciao: :ciao: :ciao:
Ho provato il tuo codice ed il problma si è ripetuto tale e quale al tuo.
Ho poi cambiato la ColumnView con una GridView ed adeguando opportunamente il codice ha funzionato perfettamente.
Public Sub _new()
Dim iwidth As Integer
Dim irowcounter As Integer
Dim icolcounter As Integer
GridView1.Columns.count = 3
iwidth = GridView1.Width / GridView1.Columns.Count
GridView1.Columns[0].Alignment = Align.Left
GridView1.Columns[0].Width = iwidth
GridView1.Columns[0].text = "Data"
GridView1.Columns[1].Width = iwidth
GridView1.Columns[1].text = "Valore"
GridView1.Columns[2].Width = iwidth
GridView1.Columns[2].text = "Stato"
GridView1.Rows.Count = 5
For irowcounter = 0 To 4 'crea 5 righe
For icolcounter = 0 To GridView1.Columns.Count - 1 'crea le colonne
GridView1[irowcounter, icolcounter].Text = "Col: " & icolcounter & "Row: " & irowcounter
Next 'column
Next 'row
End
Trai tu le conclusioni
:ciao:
Chiedo scusa ma non ho guardato cosa dice il libro, in compenso ho tirato giù questo codice che dovrebbe essere abbastanza esplicativo di quanto io ho capito di questo widget.
' Gambas class file
Public Sub Form_Open()
With ColumnView1
.Columns.Count = 2
' .Columns[0].Width = ColumnView1.Width / 2
.Columns[0].Text = "Albero"
'.Columns[1].Width = ColumnView1.Width / 2
.Columns[1].Text = "Valore"
.Add("Key1", "Indice 1")
.Add("Key1-1", "Primo sottoindice 1", Null, "Key1")
.Add("Key1-1-1", "Primo Sotto-sottoindice 1", Null, "Key1-1")
.Add("Key1-2", "Secondo sottoindice 1", Null, "Key1")
.Add("Key2", "Indice 2")
.Add("Key2-1", "Primo sottoindice 2", Null, "Key2")
.Add("Key2-2", "Secondo sottoindice 2", Null, "Key2")
.Add("Key2-2-1", "Primo Sotto-sottoindice 2", Null, "Key2-2")
.Add("Key2-2-2", "Secondo Sotto-sottoindice 2", Null, "Key2-2")
End With
End
Public Sub Button1_Click()
Dim sCkey As String
Try sCkey = ColumnView1.Current.Key
If Error Then
Message("Occorre selezionare una voce")
Return
Endif
ColumnView1[sCkey][1] = "Valore relativo alla chiave " & sCkey
End
Le voci width penso che non servano...
:ciao: