以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请问怎么才能真正锁定行?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=92336)

--  作者:kmzb56
--  发布时间:2016/11/1 9:49:00
--  请问怎么才能真正锁定行?
  我最近试了一下锁定行,在表状态下都可以锁定,但是发到在窗口控件上绑定的数据确锁定不了,一样可以修改,请问有什么好的办法,只要锁定了就不能删除和修改?哪怕在窗口控件下也是这样。
--  作者:有点蓝
--  发布时间:2016/11/1 10:06:00
--  
测试没有问题,上例子说明
--  作者:有点蓝
--  发布时间:2016/11/1 14:17:00
--  
只要绑定的行是锁定_locked=true的,控件就不能编辑,无需做另外的控制。

你是怎么锁定的?

--  作者:有点色
--  发布时间:2016/11/1 14:50:00
--  
以下是引用liuruihua在2016/11/1 12:35:00的发言:
进入窗口的数据绑定控件时判断当前行或表是否锁定,如果锁定则禁止编辑。

 

 比如,控件的enter事件

 

If Tables("表A").Current.Locked OrElse Tables("表A").AllowEdit = False Then
    msgbox("已锁定")
End If


--  作者:kmzb56
--  发布时间:2016/11/1 17:40:00
--  
我试过了,我是在窗口上的副表上测试的锁定,锁定了在 双击副表调出另一个窗口,在控件上可以修改的,这是怎么回事?
--  作者:有点蓝
--  发布时间:2016/11/1 18:03:00
--  
上例子看看
--  作者:kmzb56
--  发布时间:2016/11/1 22:10:00
--  
试过了,这种方法可行,但是如果我要想开放一些列可以修改,其它的不可以修改怎么办?


--  作者:有点蓝
--  发布时间:2016/11/1 22:26:00
--  
那就不能设置Locked 了,表格和控件都要单独设置权限控制



--  作者:有点色
--  发布时间:2016/11/2 8:39:00
--  
以下是引用kmzb56在2016/11/1 22:10:00的发言:
试过了,这种方法可行,但是如果我要想开放一些列可以修改,其它的不可以修改怎么办?

 

你可以动态解除绑定,修改好以后,再绑定回来

 

Forms("窗口1").Controls("TextBox1").BindingField = ""

 

http://www.foxtable.com/webhelp/scr/1860.htm