以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  窗口主表代码验证保存问题.  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=158587)

--  作者:夜点蚊香
--  发布时间:2020/11/25 16:05:00
--  窗口主表代码验证保存问题.
帮忙看一下代码

窗口提交保存按钮代码,加了一个验证 (请假次数)=(已请假次数)的时候不能验证保存. 代码报错.
代码放在按钮的 Click 事件下
Dim dr As DataRow = e.DataRow
If dr("请假次数") = dr("已请假次数") Then
    Messagebox.show("请假次数已满,不能进行请假操作,请联系老师!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    e.Cancel = True
Else If Tables("请假单_学生").Current IsNot Nothing Then
    Tables("请假单_学生").Current.Save()
    e.Form.Close()
End If

编译错误 "DataRow"不是"ControlEvenArgs"的成员.
错误代码
Dim dr As DataRow = e.DataRow
请问如何在窗口中定义数据,请指教.


--  作者:有点蓝
--  发布时间:2020/11/25 16:08:00
--  
表事件才有e.DataRow这种用法,不同事件的参数是不一样的。http://www.foxtable.com/webhelp/topics/0604.htm

窗口里使用只能使用当前行Current 这种用法,或者通过查询获取指定的行

--  作者:夜点蚊香
--  发布时间:2020/11/25 19:09:00
--  搞定,代码如下.谢谢
If Tables("请假单_学生").Current("请假次数") = Tables("请假单_学生").Current("已请假次数") Then
    Messagebox.show("请假次数已满,不能进行请假操作,请联系老师!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    e.Cancel = True
Else If Tables("请假单_学生").Current IsNot Nothing Then
    Tables("请假单_学生").Current.Save()
    e.Form.Close()
End If

--  作者:有点蓝
--  发布时间:2020/11/26 8:39:00
--  
按钮里一般不需要e.Cancel = True,没什么用