主题:[讨论]求助:DataGridView 删除条件行问题?
在一个 DataGridView 中,想删除第5列单元格中的值不为5的所有行,代码如下:
....
DataGridView1.AllowUserToDeleteRows = True '允许编辑
DataGridView1.AllowUserToAddRows = False '不允许添加最后新行
Dim i As Integer
For i = 0 To DataGridView1.RowCount - 1
If Val(DataGridView1.Rows(i).Cells(4).Value) <> 5 Then 如果此行的第5列单元格数据不为5,
DataGridView1.Rows.RemoveAt(i) '删除该行___有出错提示
End If
Next
....
问题是:
总是提示出错:"索引超出范围",结果无法删除!
但如果将 DataGridView1.Rows.RemoveAt(i)
改写成:
DataGridView1.Rows(i).Selected = True '选择这些行 __ 无出错提示
则没有任何错误提示,而且能正确选择!
请问:问题出在哪? 望高手指点!
....
DataGridView1.AllowUserToDeleteRows = True '允许编辑
DataGridView1.AllowUserToAddRows = False '不允许添加最后新行
Dim i As Integer
For i = 0 To DataGridView1.RowCount - 1
If Val(DataGridView1.Rows(i).Cells(4).Value) <> 5 Then 如果此行的第5列单元格数据不为5,
DataGridView1.Rows.RemoveAt(i) '删除该行___有出错提示
End If
Next
....
问题是:
总是提示出错:"索引超出范围",结果无法删除!
但如果将 DataGridView1.Rows.RemoveAt(i)
改写成:
DataGridView1.Rows(i).Selected = True '选择这些行 __ 无出错提示
则没有任何错误提示,而且能正确选择!
请问:问题出在哪? 望高手指点!