以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- DataRowLockedChanging 判定 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=81326) |
-- 作者:blsu33 -- 发布时间:2016/2/24 17:27:00 -- DataRowLockedChanging 判定 红袍老师, DataRowLockedChanging 表事件中,希望表在锁定行的时候判断一下 举例 根据另外一个表来测定 有为空的字段,不允许当前行锁定,代码如下:不是标注颜色的部分,出现系统错误,系统就退出了 Dim str As String Dim bm As String=e.DataTable.name Dim dt2 As DataTable Dim dr As DataRow dt2 = Functions.Execute("loading","必填列",0,"表名=\'"& bm &"\' And 是否必填=1")‘查找对用的表 If dt2.DataRows.Count>0 Then For Each dr2 As DataRow In dt2.DataRows str &= " or " & dr2("列名") & " Is null" Next If str.SubString(4)<>"" Then Dim fdr As DataRow = e.DataTable.Find(str.SubString(3)) If fdr IsNot Nothing Then PopMessage("请完成必填字段!","错误", PopIconEnum.Error, 5) e.Cancel=True End If End If End If 问下老师,怎么构造 |
-- 作者:大红袍 -- 发布时间:2016/2/24 17:43:00 -- 报什么错?加入msgbox定位哪句出错?再怎么出错,也不至于会退出系统的。
例子说明。 |
-- 作者:blsu33 -- 发布时间:2016/2/29 13:54:00 -- 红袍老师, 增加行时,DataRowLockedChanged 只在表事件怎么写,能不提示,锁定的时候再去判断。 |
-- 作者:大红袍 -- 发布时间:2016/2/29 14:09:00 -- 前面加上比如下面的代码
If e.DataRow.Locked = False Then Return |