我在Visual Studio 2017中使用VB.NET创建了一个项目,该项目使用DataTable填充DataGridView。数据在网格中看起来很好,但是当我尝试访问SelectionChanged事件中的单元格值时,总是得到Nothing。这是事件:
Private Sub grdBooks_SelectionChanged(sender As Object, e As EventArgs) Handles grdBooks.SelectionChanged
If Not grdBooks.CurrentRow Is Nothing Then
If grdBooks.CurrentRow.Index > -1 Then
Dim X As String = grdBooks.Rows(0).Cells(0).Value
Dim Y = grdBooks(0, 0).Value
UpdateEditPanel(False)
End If
End If
End Sub
因此,X和Y都应从位置0,0的网格中给我相同的值,但不能。我以前在其他项目中使用过此功能。有人有什么主意吗?
谢谢,科林
答案 0 :(得分:0)
我也对这篇文章感到困惑,但是我希望这可以帮助您解决问题。可能的解决方案#1
Dim X As String = DataGridView1.SelectedRows(0).Cells(0).Value.ToString
或
Dim X As String = DataGridView1.SelectedRows(0).Cells(0).Value.ToString()
如果您能够提供更多代码,我相信我们可以解决此问题。干杯。
答案 1 :(得分:0)
如果只想单击网格中的单元格,请尝试以下操作:
Private Sub grdBooks_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles grdBooks.CellContentClick
Dim selectedRow As DataGridViewRow
selectedRow = grdBooks.Rows(e.RowIndex)
Dim x as string = selectedRow.Cells(0).Value.ToString()
End Sub