以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  窗口表权限  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=178913)

--  作者:denghui69986
--  发布时间:2022/7/27 15:00:00
--  窗口表权限
老师帮忙看看我这代码设置在窗口权限下面四列普通用户不可编辑,怎么部起作用。
Dim ctl As WinForm.Control = e.Sender
Select Case ctl.BindingField
    Case "资料数据汇总.布料材质", "资料数据汇总.排版图", "资料数据汇总.用量", "资料数据汇总.实裁用量", "资料数据汇总.排版说明"
        If User.Name = "开发者" "管理员" Then
            ctl.ReadOnly = BooleanEnum.False \'允许编辑
        Else
            ctl.ReadOnly = BooleanEnum.True \'禁止编辑
        End If

图片点击可在新窗口打开查看图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2022/7/27 15:06:00
--  
If User.Name = "开发者" orelse User.Name =  "管理员" Then
--  作者:denghui69986
--  发布时间:2022/7/27 15:57:00
--  
还是不起作用,我关了所有从新登录其它普通用户号还是可以编辑
--  作者:有点蓝
--  发布时间:2022/7/27 16:04:00
--  
调试

Dim ctl As WinForm.Control = e.Sender
msgbox(ctl.name & ": " & ctl.BindingField)
Select Case ctl.BindingField
    Case "资料数据汇总.布料材质", "资料数据汇总.排版图", "资料数据汇总.用量", "资料数据汇总.实裁用量", "资料数据汇总.排版说明"
msgbox(User.Name)
        If User.Name = "开发者" orelse User.Name =  "管理员" Then
msgbox(1)
            ctl.ReadOnly = BooleanEnum.False \'允许编辑
        Else
msgbox(2)
            ctl.ReadOnly = BooleanEnum.True \'禁止编辑
        End If

--  作者:denghui69986
--  发布时间:2022/7/28 7:56:00
--  
不知是否窗口名称不对还是哪里原因不起作用,表是链接资料数据汇总,帮忙看看我截图,
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2022/7/28 8:36:00
--  
5楼截图的是窗口标题,不是窗口名称。

按4楼的方法调试,不起作用的时候弹出什么内容?

--  作者:denghui69986
--  发布时间:2022/7/28 9:40:00
--  
不知什么原因,按照下面说明改的,

要实现此目的,只需在窗口的全局事件Enter事件中设置代码:

Dim ctl As WinForm.Control = e.Sender
Select
Case ctl.BindingField
    Case
"
A.第一列", "A.第二列", "A.第三列"
        If User.Name =
"
张三" Then
            ctl.ReadOnly = BooleanEnum.False
\'
允许编辑
        Else
            ctl.ReadOnly = BooleanEnum.True
\'
禁止编辑
        End If
    Case
"
A.第四列", "A.第五列", "A.第六列"
        If User.Name =
"
李四" Then
            ctl.ReadOnly = BooleanEnum.False
\'
允许编辑
        Else
            ctl.ReadOnly = BooleanEnum.True
\'
禁止编辑
        End
If

End
Select


--  作者:有点蓝
--  发布时间:2022/7/28 9:43:00
--  
按4楼的方法调试,有问题的时候msgbox弹出什么内容?
--  作者:denghui69986
--  发布时间:2022/7/28 11:33:00
--  
不弹窗,就是普通账号进去一样可以修改编辑
--  作者:有点蓝
--  发布时间:2022/7/28 11:39:00
--  
看来我们都理解错了。我以为您要控制文本框等的录入。如果要控制表格的编辑,不应该使用这种用法,这个是用来控制文本框等控件的录入的。.

窗口的表格控件和普通表格一样,需要到表事件处理:http://www.foxtable.com/webhelp/topics/2255.htm