Ciao a tutti, sono nuovamente a chiedere aiuto, dopo varie ricerche, ma non ne vengo a capo:
Ho una TableView popolata con 5 CheckBox con il seguente metodo:
Private kb As CheckBox
Private sa As ScrollArea
Public Sub Form_Open()
Dim obs As Observer
Dim i As Integer
sa = TableView2.Children[0]
obs = New Observer(sa) As "Scroll"
With TableView2
.W = 882
.H = 280
.Columns.Count = 3
.Rows.Count = 30
End With
TableView2.Columns[0].W = 70
TableView2.Columns[1].W = 110
TableView2.Columns[2].W = 120
For i = 1 To 5
With kb = New CheckBox(sa) As "CheckBox"
.X = TableView2.Columns[2].X
.Y = TableView2.Rows[i].Y
.W = TableView2[i, 0].W
.H = TableView2[i, 0].H
.Text = "Prova"
.Name = "CheckBox"
End With
Next
End
e fino a qui tutto ok , applico il metodi Edit e Save per editare nelle celle:
Public Sub TableView2_Click()
TableView2.Edit
End
Public Sub TableView2_Save(Row As Integer, Column As Integer, Value As String)
TableView2[row, column].Text = Value
Print Value
End
Quando però vado a leggere il contenuto delle celle:
Public Sub Button1_Click()
Dim i As Integer
Dim a As Boolean
Dim b As String
For i = 0 To 5
a = TableView2[i, 2].Text ' CheckBox.Value?? '
b = TableView2[i, 0].Text
Print b, a
Next
End
non viene restituito il valore della CheckBox ( ottengo sempre 'False') mentre negli altri casi tutto ok. Dove sbaglio? Grazie :ciao:
Bene grazie all'esempio postato da Gianluigi ho risolto in questo modo ( da migliorare il codice ;D):
Private kb As New CheckBox[10]
Private ck As CheckBox
Private sa As ScrollArea
Public Sub Form_Open()
Dim obs As Observer
Dim i As Integer
sa = TableView2.Children[0]
obs = New Observer(sa) As "Scroll"
With TableView2
.W = 882
.H = 280
.Columns.Count = 4
.Rows.Count = 30
End With
TableView2.Columns[0].W = 70
TableView2.Columns[1].W = 110
TableView2.Columns[2].W = 100
For i = 0 To 5
With ck = New CheckBox(sa) As "Check"
.X = TableView2.Columns[0].X
.Y = TableView2.Rows[i].Y
.W = TableView2[i, 0].W
.H = TableView2[i, 0].H
.Text = "Prova"
.Name = "Check"
End With
kb[i] = ck 'Assegna la variabile ck, appena creata, al vettore di tipo checkbox'
Next
End
Public Sub Scroll_Scroll()
Dim ob As Object
Dim b As Byte
For Each ob In sa.Children
ob.Y = TableView2.Rows[b].Y - sa.ScrollY
Inc b
Next
End
Public Sub Check_Click()
TableView2[0, 1].Text = kb[0].Value
TableView2[1, 1].Text = kb[1].Value
TableView2[2, 1].Text = kb[2].Value
TableView2[3, 1].Text = kb[3].Value
TableView2[4, 1].Text = kb[4].Value
TableView2[5, 1].Text = kb[5].Value
End
Public Sub TableView2_Click()
Print TableView2.Row, TableView2.Column
End
Public Sub TableView2_Save(Row As Integer, Column As Integer, Value As String)
TableView2[row, column].Text = Value
End
Public Sub Button1_Click()
Dim i As Integer
Dim a As String
For i = 0 To 5
a = TableView2[i, 1].Text
Print a
Next
TableView2.Refresh
End
:ciao: