以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  DataRowLockedChanging 判定  (http://foxtable.com/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 只在表事件怎么写,能不提示,锁定的时候再去判断。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:复件 管理项目17.foxdb



--  作者:大红袍
--  发布时间:2016/2/29 14:09:00
--  

前面加上比如下面的代码

 

If e.DataRow.Locked = False Then Return