以文本方式查看主题

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

--  作者:lin98
--  发布时间:2024/8/6 15:04:00
--  可视化授权问题
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


如何将红代码,改为可见,可编辑?

--  作者:有点蓝
--  发布时间:2024/8/6 15:40:00
--  
Tables(dr("表名")).Visible = r("可见")
--  作者:lin98
--  发布时间:2024/8/6 16:25:00
--  
For Each dr2 As DataRow In DataTables("窗口1_分配权限").Select("Name = \'" & _UERName & "\' And skmc = \'" & e.Form.Name & "\'")
    e.Form.Controls(dr2("控件名称")).Visible = dr2("可见")\'"
    e.Form.Controls(dr2("控件名称")).Enabled = dr2("可编辑")\'"
Next

窗口1上有100个控件名称,或说(权限清单100个控件名称

需求:只有分配可见或可编辑的控件名称为可见或可编辑,没有分配,则默认为不可见或不可编辑,如何实现?上面执行后,未能到效果。
比如:张三分配3个控件名称可见或可编辑,97个没有分配,未在分配权限表里,均为可见或不可编辑

--  作者:有点蓝
--  发布时间:2024/8/6 16:28:00
--  
先遍历所有非容器控件,全部都设置为不可见或不可编辑。再按权限表处理