以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]关于BeforeSaveDataRow事件  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=34775)

--  作者:ifastudy
--  发布时间:2013/6/15 11:07:00
--  [求助]关于BeforeSaveDataRow事件
用户录入数据后,我在BeforeSaveDataRow写了数据校验代码
If e.DataRow("款式")=""
    MessageBox.show("你没有填写款色[" & e.DataRow("款色") & "]的款式,请填写")
    e.Cancel = True
Else
    Dim dr As DataRow = DataTables("款式信息").Find("款式=\'" & e.DataRow("款式") & "\'")
    If dr Is Nothing
         MessageBox.show("你没有填写款色[" & e.DataRow("款色") & "]的款式,请填写")
        e.Cancel = True
Return
    End If
End If
提示正常,数据录入错误的行,没有保存,但问题是数据正常的行也没有保存. e.Cancel = True会将所有的保存事件取消吗?
[此贴子已经被作者于2013-6-15 11:07:50编辑过]

--  作者:lsy
--  发布时间:2013/6/15 11:13:00
--  
上个小例子,三下五去二,就弄明白了,不上例子,还得从头做,不费事费时么?
--  作者:Bin
--  发布时间:2013/6/15 11:13:00
--  
取消是会取消整个保存的哦.
--  作者:Bin
--  发布时间:2013/6/15 11:14:00
--  
所以你这个最好在输入完成的时候就验证一下.不要等到保存的时候才验证.
--  作者:zaianda
--  发布时间:2013/6/15 11:20:00
--  
把 return 去掉
--  作者:Bin
--  发布时间:2013/6/15 11:22:00
--  
以下是引用zaianda在2013-6-15 11:20:00的发言:
把 return 去掉

和这个没关系去不去掉还是只是会整个取消的. 这个ReTURN只是在本事件中当前代码段退出而已
--  作者:ifastudy
--  发布时间:2013/6/15 11:28:00
--  
明白,我已经改成在ValidateEdit验证数据了。