以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  审核锁定行  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=3649)

--  作者:chenwuwenyu
--  发布时间:2009/7/21 17:47:00
--  审核锁定行
增加一列逻辑列
如果实现选中时锁定行,再次选中时解除锁定
If e.DataRow("审核") = False then
Syscmd.Row.Lock()
Else
Syscmd.Row.UnLock()
End if

我写了个这,很明显会发生,锁定以后就不能编辑了,不能解除锁定
请大家指教



每日提问,努力学习
--  作者:狐哥
--  发布时间:2009/7/21 18:08:00
--  
Select Case e.datacol.name
        case "审核"
            if e.NewValue = true then
                Syscmd.Row.UnLock()
            Elseif e.NewValue = false then
                Syscmd.Row.Lock()
            end if
end select

--  作者:yangming
--  发布时间:2009/7/21 18:23:00
--  
这种选择是没有用的,如果已锁定此行了,那如何能取消打的勾呢?呵呵
--  作者:chenwuwenyu
--  发布时间:2009/7/21 18:29:00
--  
以下是引用yangming在2009-7-21 18:23:00的发言:
这种选择是没有用的,如果已锁定此行了,那如何能取消打的勾呢?呵呵

恩,就是老师说的这个问题,如何解决呢


--  作者:mr725
--  发布时间:2009/7/21 19:28:00
--  

做两个按钮
解除锁定:Syscmd.Row.unLock()
允许编辑:e.DataRow("审核") = False    呵呵。不知是否可行?

[此贴子已经被作者于2009-7-21 19:28:11编辑过]

--  作者:梦倩
--  发布时间:2009/7/22 8:50:00
--  
索性别用锁定行的功能,直接用prepareEdit事件:

If e.Col.Name <>  "审核"  Then
      e.Cancel  = e.Row("审核")
EndI f

三行代码,完全符合楼主的要求。



只是为什么不直接用系统的取消锁定功能呢,一样的嘛。
[此贴子已经被作者于2009-7-22 8:53:01编辑过]

--  作者:chenwuwenyu
--  发布时间:2009/7/22 10:46:00
--  
谢谢楼上的,完全实现我想要的结果
为什么不用系统锁定功能呢
还是觉得数据录入结束以后直接点一下就锁定比较方便,而且如果哪条记录需要修改,点审核也比较方便,不用鼠标到菜单上点,自定义菜单中也不准备放通过审核和取消审核按钮
谢谢
--  作者:yangming
--  发布时间:2009/7/22 11:45:00
--  
不点菜单也可以,在所在行行号处点右键就有取消审核
--  作者:mr725
--  发布时间:2009/7/22 12:34:00
--  
以下是引用yangming在2009-7-22 11:45:00的发言:
不点菜单也可以,在所在行行号处点右键就有取消审核

哦? 这个功能还没发现。  又学一招了~


--  作者:邝蛋蛋
--  发布时间:2017/6/27 11:28:00
--  
图片点击可在新窗口打开查看
[此贴子已经被作者于2017/6/27 11:28:44编辑过]