以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  切换用户名后如何刷新菜单显示?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=8944)

--  作者:shixia
--  发布时间:2010/12/30 14:25:00
--  切换用户名后如何刷新菜单显示?
如题
--  作者:狐狸爸爸
--  发布时间:2010/12/30 14:36:00
--  

参考:

 

http://help.foxtable.com/topics/1323.htm

 


--  作者:shixia
--  发布时间:2010/12/30 16:33:00
--  
我在项目事件和菜单事件的LoadUserSetting中设置权限后,切换用户后菜单没有变化,因此才求刷新办法
--  作者:狐狸爸爸
--  发布时间:2010/12/30 16:36:00
--  

你说的刷新菜单是什么意思?

代码?


--  作者:shixia
--  发布时间:2010/12/30 17:44:00
--  

在授权表中对菜单中的按钮名进行授权,代码在菜单的LoadUserSetting中设置如下代码:

Dim tab As RibbonMenu.Tab
Dim grp As RibbonMenu.Group
Dim itm As RibbonMenu.RibbonItem
For Each tab  In RibbonTabs \'显示所有菜单名称
    For Each grp In tab.groups
        For Each itm In grp.items
            For Each dr As DataRow In DataTables("授权表").Select("用户名 = \'" &  _UserName & "\'" )
                If itm.name=dr("按钮名") Then
                    itm.Visible =Not dr("不可见")
                End If
            Next
        Next
    Next
Next

一样的代码我在项目事件的LoadUserSetting也设置了,在菜单的Load中也设置了,在菜单中的LoadUserSetting也设置了,但是只有
在菜单设计中点"应用"按钮生成菜单后才让设置生效.在关闭项目的情况下启动项目时,授权表中的要求不能在菜单中反映。

[此贴子已经被作者于2010-12-30 17:54:23编辑过]

--  作者:狐狸爸爸
--  发布时间:2010/12/30 17:51:00
--  
哈哈,自定义用户管理是不会触发LoadUserSetting事件的,将上面的代码复制到自定义登录窗口的最后面即可。
--  作者:shixia
--  发布时间:2010/12/30 18:04:00
--  
哦,谢了