Foxtable(狐表)用户栏目专家坐堂 → [求助]菜单隐藏及是否可用


  共有3076人关注过本帖树形打印复制链接

主题:[求助]菜单隐藏及是否可用

帅哥哟,离线,有人找我吗?
湛江智
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:812 积分:6676 威望:0 精华:0 注册:2014/11/26 12:32:00
[求助]菜单隐藏及是否可用  发帖心情 Post By:2018/7/19 14:56:00 [显示全部帖子]

LoadUserSetting

 

'菜单权限表,下面代码,怎么修改实现对菜单及菜单按钮权限控制?求助


For Each rt As RibbonMenu.Tab In RibbonTabs
    rt.Visible = True
    rt.Enabled = True
    For Each rg As RibbonMenu.Group In rt.Groups
        rg.Visible = True
        rg.Enabled = True
        For Each itm As RibbonMenu.RibbonItem In rg.Items
            itm.Visible = True
            itm.Enabled = True
        Next
    Next
Next
For Each i As object In QAT.Items
    i.visible = True
    i.Enabled = True
Next 
For Each i As object In ConfigBar.Items
    i.visible = True
    i.Enabled = True
Next 


'For Each dr As DataRow In DataTables("菜单权限表").Select("用户分组 = '" & _UserGroup & "' and 用户名 = '" & _UserName & "'")
For Each dr As DataRow In DataTables("菜单权限表").Select("用户名 = '" & _UserName & "'")
  If dr("菜单分区")= "功能区"  Then
      If dr.IsNull("分组名")  Then
        RibbonTabs(dr("菜单名")).Visible = Not dr("菜单不可见")
        RibbonTabs(dr("菜单名")).Enabled = Not dr("菜单不可用")   
      ElseIf dr.IsNull("按钮名")   Then
        RibbonTabs(dr("菜单名")).Groups(dr("分组名")).Visible = Not dr("分组不可见")
        RibbonTabs(dr("菜单名")).Groups(dr("分组名")).Enabled = Not dr("分组不可用")
      Else
        RibbonTabs(dr("菜单名")).Groups(dr("分组名")).Items(dr("按钮名")).Visible = Not dr("按钮不可见")
        RibbonTabs(dr("菜单名")).Groups(dr("分组名")).Items(dr("按钮名")).Enabled = Not dr("按钮不可用")   
      End If
    End If
Next


 回到顶部
帅哥哟,离线,有人找我吗?
湛江智
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:812 积分:6676 威望:0 精华:0 注册:2014/11/26 12:32:00
  发帖心情 Post By:2018/7/19 14:57:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:菜单权限.zip


图片点击可在新窗口打开查看此主题相关图片如下:对菜单及按钮 授权.png
图片点击可在新窗口打开查看
上面代码修改后,可能要加到  用户登录 窗口的确定按钮吧?
[此贴子已经被作者于2018/7/19 15:46:13编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
湛江智
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:812 积分:6676 威望:0 精华:0 注册:2014/11/26 12:32:00
回复:(有点甜)代码我测试没问题。你遇到什么问题?...  发帖心情 Post By:2018/7/19 17:16:00 [显示全部帖子]

上面代码代码写到登陆窗口的登陆按钮的click事件可以

但是在实际项目里,放在里面报错

 


图片点击可在新窗口打开查看此主题相关图片如下:小李 密码 f 登陆后窗口报错.png
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:小李 密码 f 登陆后窗口报错.zip


 回到顶部
帅哥哟,离线,有人找我吗?
湛江智
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:812 积分:6676 威望:0 精华:0 注册:2014/11/26 12:32:00
回复:(有点甜)Dim UserName As String = e.Form.Co...  发帖心情 Post By:2018/7/19 18:10:00 [显示全部帖子]

上面代码用在上面的项目中ok了,

但是在实际项目中,还出现下面报错如下图(Button6就是登陆窗口 确定按钮)

实际项目窗口设计按帮助文件:界面导航设计方案


图片点击可在新窗口打开查看此主题相关图片如下:还报错.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2018/7/19 18:19:18编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
湛江智
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:812 积分:6676 威望:0 精华:0 注册:2014/11/26 12:32:00
回复:(有点甜)1、这个代码你加上了没有??...  发帖心情 Post By:2018/7/19 23:42:00 [显示全部帖子]

 For Each i As object In ConfigBar.Items
    i.visible = True
    i.Enabled = True
Next

MessageBox.Show(2)————只提示1次 2

'For Each dr1 As DataRow In DataTables("菜单权限表").Select("用户分组 = '" & _UserGroup & "' and 用户名 = '" & _UserName & "'")
For Each dr1 As DataRow In DataTables("菜单权限表").Select("用户名 = '" & _UserName & "'")
MessageBox.Show(3)
    If dr1("菜单分区")= "功能区"  Then
        If dr1.IsNull("分组名")  Then
            RibbonTabs(dr1("菜单名")).Visible = Not dr1("菜单不可见")
            RibbonTabs(dr1("菜单名")).Enabled = Not dr1("菜单不可用")
        ElseIf dr1.IsNull("按钮名")   Then
            RibbonTabs(dr1("菜单名")).Groups(dr1("分组名")).Visible = Not dr1("分组不可见")
            RibbonTabs(dr1("菜单名")).Groups(dr1("分组名")).Enabled = Not dr1("分组不可用")
        Else
            RibbonTabs(dr1("菜单名")).Groups(dr1("分组名")).Items(dr1("按钮名")).Visible = Not dr1("按钮不可见")
            RibbonTabs(dr1("菜单名")).Groups(dr1("分组名")).Items(dr1("按钮名")).Enabled = Not dr1("按钮不可用")
        End If
    End If
Next
MessageBox.Show(3)————提示8次 3
实际项目窗口设计按帮助文件:界面导航设计方案,用了8个功能区菜单名
[此贴子已经被作者于2018/7/19 23:43:17编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
湛江智
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:812 积分:6676 威望:0 精华:0 注册:2014/11/26 12:32:00
回复:(有点甜)1、最后一个msgbox是否弹出??...  发帖心情 Post By:2018/7/20 9:48:00 [显示全部帖子]

For Each i As object In ConfigBar.Items
    i.visible = True
    i.Enabled = True
Next

'For Each dr1 As DataRow In DataTables("菜单权限表").Select("用户分组 = '" & _UserGroup & "' and 用户名 = '" & _UserName & "'")
For Each dr1 As DataRow In DataTables("菜单权限表").Select("用户名 = '" & _UserName & "'")
MessageBox.Show(3)
    If dr1("菜单分区")= "功能区"  Then
        If dr1.IsNull("分组名")  Then
            RibbonTabs(dr1("菜单名")).Visible = Not dr1("菜单不可见")
            RibbonTabs(dr1("菜单名")).Enabled = Not dr1("菜单不可用")
        ElseIf dr1.IsNull("按钮名")   Then
            RibbonTabs(dr1("菜单名")).Groups(dr1("分组名")).Visible = Not dr1("分组不可见")
            RibbonTabs(dr1("菜单名")).Groups(dr1("分组名")).Enabled = Not dr1("分组不可用")
        Else
            RibbonTabs(dr1("菜单名")).Groups(dr1("分组名")).Items(dr1("按钮名")).Visible = Not dr1("按钮不可见")
            RibbonTabs(dr1("菜单名")).Groups(dr1("分组名")).Items(dr1("按钮名")).Enabled = Not dr1("按钮不可用")
        End If
    End If
Next
MessageBox.Show(3)————提示1次下图这个窗口,点击确定按钮后才能登陆进去系统,怎么取消不显示下图的窗口呢?

实际项目窗口设计按帮助文件:界面导航设计方案


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

[此贴子已经被作者于2018/7/20 9:48:37编辑过]

 回到顶部