以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]如何禁止除了开发者之外所有人解锁列?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=43665)

--  作者:jimyoar
--  发布时间:2013/12/12 15:08:00
--  [求助]如何禁止除了开发者之外所有人解锁列?

如题

数据库自动生成的日期不想被人修改到,所以锁定了列。

如果做到不让开发者以外的人去解开列的锁定状态?

求指教


--  作者:Bin
--  发布时间:2013/12/12 15:13:00
--  
自己做个锁定列菜单按钮,不要使用原来的,然后判断只有开发者点击才执行里面的代码即可


或者直接不是开发者登录不显示这个按钮.

--  作者:Bin
--  发布时间:2013/12/12 15:13:00
--  
利用 USER.TYPE属性判断 http://www.foxtable.com/help/topics/0609.htm
--  作者:jimyoar
--  发布时间:2013/12/12 17:58:00
--  

判定只是辨别身份吧

那我通过什么代码来限制别人不可以解锁那个列呢?

在表格上一右键就可以解锁了啊


--  作者:Bin
--  发布时间:2013/12/12 17:59:00
--  
去掉右键菜单, 导入系统模板,然后把解锁这个快捷菜单删除.   或者直接使用代码隐藏  具体请看帮助菜单设计相关章节.
--  作者:jimyoar
--  发布时间:2013/12/12 17:59:00
--  

做这样一个按钮的效果只是判断是开发者就可以进行锁定,而不是开发者以外的人不能解锁吧...

我想要的效果是禁止别人解锁..


--  作者:jimyoar
--  发布时间:2013/12/12 18:00:00
--  

现在能实现的只是禁止解锁行...使用手册里没看到禁止解锁列的..


--  作者:lyfxybc
--  发布时间:2013/12/12 18:10:00
--  

Syscmd.Column.Lock() 锁定列命令,行后有小锁
Syscmd.Column.UnLock() 取消锁定列(解锁列)




参考一下:

在表的PrepareEdit设置一下代码

 

表A_PrepareEdit

 

Select Case e.Col.Name

   Case "日期"    \'此处可以添加多列

       If User.Name = "开发者" Then

         e.Cancel =False

      Else

         e.Cancel = True

      End If

End Select


这样”日期列“没有小锁,其他人不能编辑,只有开发者登陆后,才能编辑

[此贴子已经被作者于2013-12-12 18:19:48编辑过]

--  作者:有点甜
--  发布时间:2013/12/12 19:21:00
--  
 参考事件 DataRowLockedChanging