任何人都可以帮我制作以下代码来删除datagridview中所有“突出显示”的单元格(当前单元格)内容吗?它总是只删除最后一个选定单元格的内容
Private Sub DataGridView1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles DataGridView1.KeyDown
If e.KeyData = Keys.Delete Then
For Each cell In DataGridView1.SelectedCells
DataGridView1.CurrentCell.Value = ""
Next
End If
End Sub
答案 0 :(得分:1)
Private Sub DataGridView1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles DataGridView1.KeyDown
If e.KeyData = Keys.Delete Then
For Each cell In DataGridView1.SelectedCells
cell.Value = ""
Next
End If
End Sub
请注意,您要查看所有选定的单元格(请查看For Each cell In...
),然后依次将cell
设置为每个选定的DataGridViewCell。当你清空价值时就是这样。
您的代码只为每个选定的单元格清空CurrentCell
一次。您应该了解迭代器和For Each
语句的工作原理。
答案 1 :(得分:0)
在For循环中,您没有引用迭代变量" Cell" - 您只是引用" CurrentCell"在迭代时不会改变。