BeforeSaveDataRow
在保存某一数据行之前执行,可以在此对数据进行最终的验证。
e参数属性:
DataTable: 返回正在保存的数据表。
DataRow: 返回正在保存的数据行。
Cancel: 逻辑型,设为True,取消正在进行的保存。
我们已经接触了两种和数据验证有关的事件,分别是ValidateEdit和DataColChanging,现在是第三个。
示例
例如,在输入订单的时候,要求订购数量不超过1000的订单,其折扣不能超过0.15,可以在BeforeSaveDataRow事件中设置如下代码:
If
e.DataRow("数量") < 1000 Andalso e.DataRow("折扣") > 0.15 Then '判断是否不符合验证要求上述代码在发现不符合验证规则的行后,不仅提示用户,而且将焦点移到不符合规则的行。
如果在BeforeSaveDataRow事件取消了存盘,请给用户明确的提示,以免给用户带来疑惑:怎么就存不了盘呢?
三种数据验证方式各有侧重,ValidateEdit主要用于输入验证,DataColChanging可对任何原因导致的数据变动进行验证,BeforeSaveDataRow在最后进行把关,而且侧重于列与列之间的逻辑验证。