在 DataGridView 中删除行时出错
Error when deleting a Row in a DataGridView
我试图删除我的 DataTable 或 DataViewGrid 中的一行并且它有效,但是如果我 select 在该行的任何地方而不是整行本身,它会抛出错误并且代码停止。有没有办法做到这一点,当我 select 行的一部分并点击删除时,整行被删除,或者至少是一个 If Else 语句来实现它,这样代码就不会崩溃,如果整个行未 selected?
这是我的代码,用于在单击按钮时删除行。
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
Dim i As Integer = DataGridView1.SelectedRows(0).Index
DataGridView1.Rows.RemoveAt(i)
End Sub
您可以使用以下代码删除 DataGridView 中的行。
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
If DataGridView1.Rows.Count > DataGridView1.CurrentCell.RowIndex + 1 Then
DataGridView1.Rows.RemoveAt(DataGridView1.CurrentCell.RowIndex)
End If
End Sub
或者如果你想按'Delete'键删除行:
Private Sub DataGridView1_KeyDown(sender As Object, e As KeyEventArgs) Handles DataGridView1.KeyDown
If e.KeyCode = Keys.Delete Then
If DataGridView1.Rows.Count > DataGridView1.CurrentCell.RowIndex + 1 Then
DataGridView1.Rows.RemoveAt(DataGridView1.CurrentCell.RowIndex)
End If
End If
End Sub
我试图删除我的 DataTable 或 DataViewGrid 中的一行并且它有效,但是如果我 select 在该行的任何地方而不是整行本身,它会抛出错误并且代码停止。有没有办法做到这一点,当我 select 行的一部分并点击删除时,整行被删除,或者至少是一个 If Else 语句来实现它,这样代码就不会崩溃,如果整个行未 selected?
这是我的代码,用于在单击按钮时删除行。
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
Dim i As Integer = DataGridView1.SelectedRows(0).Index
DataGridView1.Rows.RemoveAt(i)
End Sub
您可以使用以下代码删除 DataGridView 中的行。
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
If DataGridView1.Rows.Count > DataGridView1.CurrentCell.RowIndex + 1 Then
DataGridView1.Rows.RemoveAt(DataGridView1.CurrentCell.RowIndex)
End If
End Sub
或者如果你想按'Delete'键删除行:
Private Sub DataGridView1_KeyDown(sender As Object, e As KeyEventArgs) Handles DataGridView1.KeyDown
If e.KeyCode = Keys.Delete Then
If DataGridView1.Rows.Count > DataGridView1.CurrentCell.RowIndex + 1 Then
DataGridView1.Rows.RemoveAt(DataGridView1.CurrentCell.RowIndex)
End If
End If
End Sub