以文本方式查看主题

-  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=80370)

--  作者:daxis0225
--  发布时间:2016/1/21 14:18:00
--  求助用户管理和权限控制

求且

通过软件帮助自定义用户管理之二,更改对应的用户名和密码。

再通过http://www.foxtable.com/help/index.html?n=1600.htm设置可视化的授权,不成功

原因是在自定义用户管理之二中最后一句,

最后自定义用户登录显然不会触发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

 

 


--  作者:大红袍
--  发布时间:2016/1/21 14:22: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

For Each dr As DataRow In DataTables("授权表").Select("用户名 = \'" & _username & "\'" )
    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


--  作者:daxis0225
--  发布时间:2016/1/21 14:55:00
--  

谢谢红袍哥,但是用其他用户登录进来的时候

授权表还在

怎么办?

 


--  作者:大红袍
--  发布时间:2016/1/21 15:02:00
--  

加上条件

 

Tables("授权表").Visible = (_UserGroup = "管理员")


--  作者:daxis0225
--  发布时间:2016/1/21 16:26:00
--  
厉害!!完成