BeforeDeleteDataRow
删除一行之前执行,可以在此处进行权限或逻辑验证,如果通不过验证,则撤销此次删除行操作。
e参数属性:
DataTable:返回要删除行的数据表。
DataRow: 返回要删除的数据行。
Cancel: 逻辑型,设为True,取消删除行操作。
Continue: 逻辑型,设为False,取消后续删除行操作。
示例
DataTable和Table都有AllowDelete属性,用于决定是否允许用户删除行,但是该属性是一刀切,而利用BeforeDeleteDataRow事件,你可以在删除某一行之前进行复杂的逻辑判断,来决定是否应该删除这一行。
例如公司规定,对于已经结帐的行,只有“张经理”才能删除,你可以在BeforeDeleteDataRow设置如下代码:
'如果当前用户不是张经理,而且即将被删除的行已经结帐,那么取消删除。
'如果当前用户不是张经理,而且即将被删除的行已经结帐,那么取消删除。
If User.Name <>
"张经理" And
e.DataRow("结帐") =
True
Then
MessageBox.Show("领导说了:已经结帐的行,只有张经理才能删除,别乱来!",
"提示")
e.Cancel = True
e.Continue =
False
End
If
注意: 将Continue设置为False,只是取消后续删除操作,而不会取消本次删除操作,所以上述代码还需要将Cancel设置为True。