以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助] 加载时锁定行  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=129678)

--  作者:Mikee
--  发布时间:2019/1/3 17:14:00
--  [求助] 加载时锁定行
订单表中有一“结单状态”了,把下面代码放在AfterLoad事件中,为什么对应的行并未锁定,仍然可以编辑? 

For Each dr As DataRow In DataTables("订单").DataRows
    If dr("结单状态") = 1 Then
        dr.Locked = True
    End If
Next

--  作者:有点甜
--  发布时间:2019/1/3 18:01:00
--  

如果你重新加载表格数据,是否会触发事件代码?比如afterOpenProject事件

 

DataTables("订单").load

 

 


--  作者:Mikee
--  发布时间:2019/1/4 9:20:00
--  
不会, 重新启动项目也不会。
--  作者:有点甜
--  发布时间:2019/1/4 9:26:00
--  

1、打开项目的时候,不会执行afterLoad事件的。

 

2、只有在执行了 DataTables("订单").load 才会触发afterLoad事件的。

 

3、你可以把代码也写到afterOpenProject里面去。


--  作者:Mikee
--  发布时间:2019/1/4 9:33:00
--  
测试了下,放在不同的表事件,项目事件,甚至做成菜单按钮都没效果。附上实例。

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


--  作者:有点甜
--  发布时间:2019/1/4 9:48:00
--  
For Each dr As DataRow In DataTables("订单").DataRows
    If dr("结单状态") = True Then
        dr.Locked = True
    Else
        dr.Locked = False
    End If
Next

--  作者:Mikee
--  发布时间:2019/1/4 9:56:00
--  
谢谢甜版,已经可以了。 是不是逻辑列只能用True/False, 数字列才能用 1/0 作为判断条件? 
--  作者:有点甜
--  发布时间:2019/1/4 10:00:00
--  
以下是引用Mikee在2019/1/4 9:56:00的发言:
谢谢甜版,已经可以了。 是不是逻辑列只能用True/False, 数字列才能用 1/0 作为判断条件? 

 

是的。true实际上是-1,false是0