У меня есть ComponentOne FlexGrid, который заполнен DataTable.Каждый столбец DataTable имеет свой собственный столбец, назначенный в этой сетке, но есть дополнительный столбец (объявленный в Designer), настроенный как ячейки с флажками (тип boolean), и пользователь выберет значения после.
Я заполняюсетка с циклом for:
With My_StoreProcedure()
For I As Integer = 1 To .Rows.Count()
gridDates.Item(I, cPatron)= .Rows(I - 1).Item("patron")
gridDates.Item(I, cColumn2)= .Rows(I - 1).Item("anothercolum2")
gridDates.Item(I, cColumn3)= .Rows(I - 1).Item("anothercolum3")
[..other 3 columns more...]
Next I
Затем пользователь выбирает флажки из полученного результата сетки, нажимая кнопку «Получить», которая вызывает метод, содержащий другой цикл, у меня есть этот внутренний цикл, чтобы получить значение:
With gridDates
For I As Integer = 1 To .Rows.Count() - 1
'Dim celda As Object = gridDates.Item(I, 8)
'Here it is where it doesn't work:
Dim value As C1.Win.C1FlexGrid.CheckEnum = .GetCellCheck(I, columnwithCheck)
If value = C1.Win.C1FlexGrid.CheckEnum.TSChecked Then
Dim patron As String = gridDates.Item(I, 1).ToString
Dim value2 As String = gridDates.Item(I, 2).ToString
Dim value3 As Char = CChar(gridDates.Item(I, 3))
[some other values...]
StoreSave(patron, value2, value3, ...)
End If
Next I
End With
Я установил точку останова и обнаружил, что я получаю пустой объект, он не получает текущее значение какого-либо флажка.
Как я могу получить это значение надлежащим образом?
Редактировать: я только что добавил сгенерированный код, связанный с сеткой в Designer:
'
'gridDates
'
Me.gridDates.AllowDragging = C1.Win.C1FlexGrid.AllowDraggingEnum.None
Me.gridDates.AllowFreezing = C1.Win.C1FlexGrid.AllowFreezingEnum.Both
Me.gridDates.AllowResizing = C1.Win.C1FlexGrid.AllowResizingEnum.None
Me.gridDates.AllowSorting = C1.Win.C1FlexGrid.AllowSortingEnum.None
Me.gridDates.ColumnInfo = resources.GetString("gridDates.ColumnInfo")
Me.gridDates.ExtendLastCol = True
Me.gridDates.KeyActionEnter = C1.Win.C1FlexGrid.KeyActionEnum.MoveAcross
Me.gridDates.Location = New System.Drawing.Point(12, 104)
Me.gridDates.Name = "gridDates"
Me.gridDates.Rows.Count = 500
Me.gridDates.Rows.DefaultSize = 19
Me.gridDates.SelectionMode = C1.Win.C1FlexGrid.SelectionModeEnum.Row
Me.gridDates.Size = New System.Drawing.Size(742, 261)
Me.gridDates.StyleInfo = resources.GetString("gridDates.StyleInfo")
Me.gridDates.TabIndex = 1