Чтение значения ячейки - PullRequest
1 голос
/ 15 мая 2011

У меня есть некоторый код DataGridView, написанный на vb.net. (Ничего не прикреплено к datasource.)

4-й столбец - checkboxCell. Как я могу определить, установлен ли флажок checkBox или нет?

Этот код странным образом сообщает ИСТИНА или ЛОЖЬ в случайные моменты времени. Он даже превращает ON checkbox в строки, отличные от строки, в которой я щелкнул.

Private Sub DataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick
   Dim whichGrid As DataGridView = CType(sender, DataGridView)

   Dim rowClicked As Int16 = e.RowIndex

   Call MsgBox(rowClicked & vbCrLf & whichGrid.Rows(rowClicked).Cells(4).Value)

End Sub

Все остальные примеры, на которые я смотрел здесь (и в других местах), похоже, не помогают. Их решения всегда:

  • Просто проверьте ЗНАЧЕНИЕ ячейки.
  • Просто выучите c # и научитесь конвертировать его в vb.net.
  • Просто проверьте VALUE ни на что, или на ноль, или на "", или на все эти.
  • Конвертировать VALUE в bool.
  • Вместо этого присоедините его к источнику данных.
  • Установить TrueValue и FalseValue.

Я пробовал бесчисленное множество других методов, но ни один из них, по-видимому, не получает значение checkbox ON / OFF в vb.net.

1 Ответ

0 голосов
/ 12 июля 2011

Приведите значение ячейки к логическому:

Dim RowIndex As Integer = ...
Dim ColumnIndex As Integer = ...

Dim IsTicked As Boolean = CBool(DataGridView1.Rows(RowIndex).Cells(ColumnIndex).Value)

If IsTicked Then
    MessageBox.Show("You ticked the box.")
Else
    MessageBox.Show("You cleared the box.")
End If
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...