例如:当前选定行是第5行,如果这时你选定第X行或添加行,也就是说即将离开第5行,开始检验第五行中的第1列、第3列、第5列是否为空。如果为空,不能添加行不能选择其他行,如果不能空可以添加行也可以选择其他行。
在多位管理员及版主的帮助下,已经基本解决问题,现将代码粘贴如下:
BeforeAddDataRow事件:
If CurrentTable.Rows.Count <= 0 Then
Return
End If
Dim r As Row = CurrentTable.Current
If r.isNull("第一列") Orelse r.IsNull("第三列") OrElse r.IsNull("第五列") Then
e.Cancel = True
End If
BeforeSelChange事件:
If CurrentTable.Rows.Count <= 1 Then
Return
End If
Dim r As Row = CurrentTable.Current
If r.isNull("第一列") Orelse r.IsNull("第三列") OrElse r.IsNull("第五列") Then
If e.NewRange.RowSel <> e.OldRange.RowSel Then
e.Cancel = True
End If
End If
但还是有两个方面尚待完善,第一、添加行后不能直接选定新行,必须先选定原来行中的其他单元格后才允许选定新添加的行,这一点我把帮助中的例子试了一下,也存在这个问题,不知是什么原因。第二,删除最后的一行依然会出现错误代码。
[此贴子已经被作者于2009-4-17 12:34:01编辑过]