以文本方式查看主题

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

--  作者:playmal
--  发布时间:2017/4/12 7:12:00
--  导航栏如何进行权限控制
如题。导航栏如何按照角色进行权限控制。
图片点击可在新窗口打开查看此主题相关图片如下:无标题.png
图片点击可在新窗口打开查看

--  作者:有点色
--  发布时间:2017/4/12 8:36:00
--  

 你可以在afterLoad事件,控制导航的显示或者隐藏,参考代码

 

Dim topic As WinForm.TopicBar = Forms("窗口1").Controls("TopicBar1")
If user.Roles = "管理员" Then
    Dim tl1 As WinForm.TopicLink
    topic.Pages("文件").Visible = False
    topic.Pages("项目").Links("打开").Visible = False
Else If user.Roles = "文员" Then
   
End If


--  作者:playmal
--  发布时间:2017/4/14 11:28:00
--  
是否可以不隐藏,变白处理就行。
--  作者:有点蓝
--  发布时间:2017/4/14 12:05:00
--  
不能,没有Enable的属性
--  作者:发哥
--  发布时间:2019/1/5 11:42:00
--  
您好,老师,按上面的代码,我改了下,但出现错误(未将对象引用设置到对象的实例),请您帮手检查一下,谢谢。

Dim topic As WinForm.TopicBar = Forms("导航栏").Controls("TopicBar1")
If _Usergroup = "区办"  Then
    Dim tl1 As WinForm.TopicLink
    topic.Pages("用户管理").Visible = False \'当用户组为:区办时,这项不显示
    topic.Pages("权限管理").Visible = False
   
Else If _Usergroup = "经理"  Then
    topic.Pages("用户管理").Visible = True \'只有用户组为:经理,才能使用.
End If


--  作者:有点蓝
--  发布时间:2019/1/5 12:09:00
--  
确保有"用户管理"、"权限管理"这些名称的导航栏页。改为正确的名称
--  作者:发哥
--  发布时间:2019/1/5 14:08:00
--  
您好,老师,好像是这样的问题:(BUG)

Dim topic As WinForm.TopicBar = Forms("导航栏").Controls("TopicBar1")
If _Usergroup = "区办"  Then
    Dim tl1 As WinForm.TopicLink
    topic.Pages("用户管理").Visible = False \'当用户组为:区办时,这项不显示
    topic.Pages("权限管理").Visible = False
   
Else If _Usergroup = "经理XXX"  Then  (就是把这个“经理XX”,就可以了,实际上没有这个“经理XX”组,如果,改回“经理”就又会出现问题。
    topic.Pages("用户管理").Visible = True \'只有用户组为:经理,才能使用.
End If

--  作者:有点蓝
--  发布时间:2019/1/5 14:31:00
--  
肯定不是这个代码的问题。上传具体实例说明
--  作者:发哥
--  发布时间:2019/1/5 14:40:00
--  
谢谢您,谢谢您,是我的问题了,重启下软件就好了。

再次感谢您。