DataGridView控件删除最后一行时遇到了麻烦,在网上搜索了一下,解决方法如下:
1. 在窗体的设计状态下,将其设置为不允许用户添加新行。
2. 这时,删除最后一行就没有问题了。
3. 在代码中设置:.AllowUserToAddRows = False,删除最后一行时同样出错。
DataGridView控件是在窗体设计界面手工添加的,并不是使用代码动态添加的。
使用代码动态添加这个控件,是否会遇到相应的问题,不清楚。
详细代码如下:
Dim I As Int16
With dgv_待开票
If .Rows.Count = 1 Then
'此时只有一行,全部删除
.Rows.Clear()
ElseIf .Rows.Count > 1 Then
'此时有两行以上.
I = .CurrentRow.Index
'先将是否允许添加行设置为 不可以
'.AllowUserToDeleteRows = False ‘从这里可以看出,试图用代码设置为不可添加新行,但在删除最后一行时仍然出错。
'.Rows(0).Selected = True '有网友提出选中任意一非删除行,然后再删除最后一行。试后发现在删除最后一行时仍然出错。
.Rows.RemoveAt(I)
'.AllowUserToDeleteRows = True
'再将是否允许添加行设置为 可以
End If
End With