我有一個非常標準的DataGridView和已經爲了保證整個行選擇使用獲得DataGridView中選定的行不工作VB.Net
.SelectionMode = DataGridViewSelectionMode.FullRowSelect
.MultiSelect = False
。
情況:我需要獲取選定的行,以便將行中的數據加載到另一個屏幕以「修改」數據。我正在使用以下來獲取選定的行。
Private Sub DataGridView2_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView2.CellContentClick
Try
If e.RowIndex >= 0 Then
Dim row As DataGridViewRow
row = Me.DataGridView2.Rows(e.RowIndex)
GlobalVariables.SelectedlineItemRowNo = e.RowIndex ' Or row
MsgBox("GlobalVariables.SelectedlineItemRowNo is ---> " & GlobalVariables.SelectedlineItemRowNo)
'textboxTst.Text = row.Cells("Description").Value.ToString
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
問題:問題是,大部分的時候,一個點擊上面的代碼運行時,DGV中的數據和設置e.RowIndex - 但是當我打任何空白的行上什麼也沒有發生所以導致使用前一行選擇的問題,這實際上是錯誤的行。
任何想法,將不勝感激。 在此先感謝
爲什麼不處理SelectionChanged事件? –