以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  视化授权  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=178057)

--  作者:denghui69986
--  发布时间:2022/6/16 9:23:00
--  视化授权
图片点击可在新窗口打开查看

我在项目事件LoadUserSetting中设置加下代码怎么切换用户进去权限不起作用,老师帮我看看,是那不对

For Each t As Table In Tables
    t.Visible =
True
    t.AllowEdit =
true
    For Each c As Col In t.Cols
        c.Visible =
True
        c.AllowEdit =
True
    Next

Next
Tables
("授权表").Visible = (User.Type <> UserTypeEnum.User )
If
User.Type = UserTypeEnum.User Then
    For Each dr As DataRow In DataTables("授权表").Select("用户名 = \'" & User.Name & "\'" )
        If
dr.IsNull("列名")
Then
       
    Tables(dr("表名")).Visible = Not dr("不可见")
            Tables
(dr("表名")).AllowEdit = Not dr("不可编辑")

        Else
           
Tables(dr("表名")).Cols(dr("列名")).Visible = Not dr("不可见")
            Tables
(dr("表名")).Cols(dr("列名")).AllowEdit = Not dr("不可编辑")
        End
If
    Next
End
If


从新打开就出现下面弹出图片点击可在新窗口打开查看图片点击可在新窗口打开查看图片点击可在新窗口打开查看

[此贴子已经被作者于2022/6/16 9:40:47编辑过]

--  作者:有点蓝
--  发布时间:2022/6/16 9:30:00
--  
调试一下

For Each t As Table In Tables
    t.Visible = 
True
    t.AllowEdit = 
true
    For Each c As Col In t.Cols
        c.Visible = 
True
        c.AllowEdit = 
True
    Next

Next
Tables
("授权表").Visible = (User.Type <> UserTypeEnum.User )
msgbox(User.Type)
If User.Type = UserTypeEnum.User Then
msgbox("用户名 = \'" & User.Name & "\'")
    For Each dr As DataRow In DataTables("授权表").Select("用户名 = \'" & User.Name & "\'" )
        If dr.IsNull("列名"Then
msgbox("表名 = " & dr("表名") & ",不可见=" & dr("不可见") & ",不可编辑=" & dr("不可编辑"))
        
    Tables(dr("表名")).Visible = Not dr("不可见")
            Tables
(dr("表名")).AllowEdit = Not dr("不可编辑")

        Else
msgbox("表名 = " & dr("表名") & ",列名 = " dr("列名"& ",不可见=" & dr("不可见") & ",不可编辑=" & dr("不可编辑"))
            Tables(dr("表名")).Cols(dr("列名")).Visible = Not dr("不可见")
            Tables
(dr("表名")).Cols(dr("列名")).AllowEdit = Not dr("不可编辑")
        End
 
If
    Next
End
 
If

--  作者:denghui69986
--  发布时间:2022/6/16 9:53:00
--  
我改了后就在切换账号是弹窗四个,也是没效果
--  作者:有点蓝
--  发布时间:2022/6/16 10:00:00
--  
都弹出什么内容
--  作者:有点蓝
--  发布时间:2022/6/16 10:03:00
--  
请上传实例测试
--  作者:denghui69986
--  发布时间:2022/6/16 10:03:00
--  
图片点击可在新窗口打开查看图片点击可在新窗口打开查看
--  作者:denghui69986
--  发布时间:2022/6/16 10:51:00
--  
切换用户名都弹窗
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.table


--  作者:有点蓝
--  发布时间:2022/6/16 11:24:00
--  
测试没有问题啊。
002登录,考勤表为锁定不可编辑。

图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

切换用户使用003登录,报表表就看不到了

图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看


--  作者:denghui69986
--  发布时间:2022/6/16 12:20:00
--  
还是每次切换账号登录一直弹窗点一次确定换一个弹窗
--  作者:有点蓝
--  发布时间:2022/6/16 13:37:00
--  
msgbox是用来调试问题的:http://www.foxtable.com/webhelp/topics/1485.htm,找到并解决问题后可以去掉啊