读取单元格的值

时间:2011-05-15 18:47:49

标签: vb.net winforms datagridview

我在vb.net中编写了一些DataGridView代码。 (datasource没有附加任何内容。)

第4列是checkboxCell。如何检测checkBox是否已选中或未选中?

此代码奇怪地在随机时间报告TRUE或FALSE。它甚至会在我点击的行以外的行中 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是否为null,或null,或“”,或所有这些。
  • 将VALUE转换为bool。
  • 将其附加到数据源。
  • 设置TrueValue和FalseValue。

我尝试过无数其他方法,似乎没有人在vb.net中获得checkbox ON / OFF值。

1 个答案:

答案 0 :(得分:0)

将单元格的值转换为布尔值:

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