我的数据网格视图包含一列。
许多DataGridView
行是空的我使用Loop删除这些行。
For j = 0 To DataGridView1.RowCount - 1
If DataGridView1.Rows(j).Cells(0).Value.ToString.Length = 0 Then
DataGridView1.Rows.RemoveAt(j)
End If
Next
错误:索引超出范围。必须是非负的且小于 集合的大小。
提前致谢!
答案 0 :(得分:3)
与C#不同,在VB.NET中,For循环上限被评估only once in the beginning of the loop,并且不会在每次循环迭代中重新计算。您可以从最后一行循环以避免问题:
For j = DataGridView1.RowCount - 1 To 0 Step -1
If DataGridView1(0, j).Value = "" Then DataGridView1.Rows.RemoveAt(j)
Next