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


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

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

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/19 15:45:00 [显示全部帖子]

代码我测试没问题。你遇到什么问题?

 

如果是自己做的用户管理,你要把代码写到登陆窗口的登陆按钮的click事件才对。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/19 17:31:00 [显示全部帖子]

Dim UserName As String = e.Form.Controls("UserName").Value
Dim cmd As New SQLCommand
Dim dt As DataTable
Dim dr As DataRow
cmd.ConnectionName = "database"
If UserName = ""  Then
    Messagebox.show("请选择用户!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Return
End If
cmd.CommandText = "Select * From {Users} Where [Name] = '" & UserName & "'"
dt = cmd.ExecuteReader
If dt.DataRows.Count = 0 Then
    Messagebox.show("此用户不存在!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Return
End If
dr = dt.DataRows(0)
If MD5Encrypt(e.Form.Controls("PassWord").Value) = dr("Password") Then
    _UserName = UserName
    _UserGroup = dr("Group")
   
    '② 记录最后一次成功登陆Name_确定_Click
    Dim yhm As WinForm.ComboBox = e.Form.Controls("UserName")
    Dim mm As WinForm.TextBox = e.Form.Controls("PassWord")
   
    SaveConfigValue("Name" & ComputerId,yhm.value)  '② 记录最后一次成功登陆Name_确定_Click
    e.Form.Close
Else
    Messagebox.show("密码错误!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Return
End If

''fxz 自定义用户与权限管理之一
'If _UserGroup = "经理" Then
'DataTables("工作日志").LoadFilter = ""
'Else
'DataTables("工作日志").LoadFilter = "创建者 = '" & _UserName & "'"
'End If
'DataTables("工作日志").Load()
'
''fxz 自定义用户与权限管理之一
'If _UserGroup = "经理" Then
'DataTables("室内设计项目").LoadFilter = ""
'Else
'DataTables("室内设计项目").LoadFilter = "项目参与人 like '%" & _UserName & "%'"
'End If
'DataTables("室内设计项目").Load()
'
'fxz 自定义用户与权限管理之一  培训管理窗口--这个窗口没有了,可删
'If _UserGroup = "经理" Or _UserGroup = "文员" Or _UserGroup = "项目管理办公室" Then
'DataTables("培训管理").LoadFilter = ""
'Else
''DataTables("培训管理").LoadFilter = "参与部门 = '" & _UserGroup & "' or 参与部门 like '%," & _UserGroup & "' or 参与部门 like '" & _UserGroup & ",%'"
'DataTables("培训管理").LoadFilter = "参与部门 like '%" & _UserGroup & "%'"
'End If
'DataTables("培训管理").Load()
'

If SystemMenu Then
    Syscmd.Project.OpenUserMenu()
End If
''菜单权限表,只需下面2段代码
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 dr1 As DataRow In DataTables("菜单权限表").Select("用户分组 = '" & _UserGroup & "' and 用户名 = '" & _UserName & "'")
For Each dr1 As DataRow In DataTables("菜单权限表").Select("用户名 = '" & _UserName & "'")
    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


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/19 20:16:00 [显示全部帖子]

1、这个代码你加上了没有?

 

If SystemMenu Then
    Syscmd.Project.OpenUserMenu()
End If

2、加入msgbox,定位一下出错的代码的位置

 

http://www.foxtable.com/webhelp/scr/1485.htm

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/20 0:05:00 [显示全部帖子]

1、最后一个msgbox是否弹出?

 

2、如果弹出,说明不是这段代码的问题,这段代码看着也不会报错。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/20 9:51:00 [显示全部帖子]

呃....你把msgbox的代码删掉,不就好了?

 回到顶部