以文本方式查看主题 - 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 |
-- 作者: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
|