以文本方式查看主题

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

--  作者:李孝春
--  发布时间:2018/1/7 23:37:00
--  【求助】怎么实现多选组合框里面的值,全部都能够被有效使用呢?
【求助】怎么实现多选组合框里面的值,全部都能够被有效使用呢?

想实现自定义用户登录后  多选组合框里的值能够被拆分成一个个的值  且都能够实现
根据菜单权限表中的数据来显示当前登录用户许可看见或使用的菜单项目内容
下面的代码是该怎么修正呢?


For i As Integer = 0 To ribbontabs.count - 1
    RibbonTabs(i).Visible = False
    For j As Integer = 0 To RibbonTabs(i).Groups .count - 1
        RibbonTabs(i).Groups (j).Visible = False
    Next
Next

For Each dr As DataRow In DataTables("菜单权限表").Select("用户名 = \'" & _username & "\' and 菜单名 is not null" )
    If dr.IsNull("分组名") Then
        RibbonTabs(dr("菜单名")).Visible =  dr("可见")
        If dr("可见") = True Then
            For j As Integer = 0 To RibbonTabs(dr("菜单名")).Groups .count - 1
                RibbonTabs(dr("菜单名")).Groups (j).Visible = True
            Next
        End If
        RibbonTabs(dr("菜单名")).Enabled = dr("可用")
    ElseIf dr.IsNull("按钮名") Then
        RibbonTabs(dr("菜单名")).Visible = dr("可见")
        RibbonTabs(dr("菜单名")).Groups(dr("分组名")).Visible =  dr("可见")
        RibbonTabs(dr("菜单名")).Groups(dr("分组名")).Enabled =  dr("可用")
    Else
        RibbonTabs(dr("菜单名")).Visible = dr("可见")
        RibbonTabs(dr("菜单名")).Groups(dr("分组名")).Visible = dr("可见")
        RibbonTabs(dr("菜单名")).Groups(dr("分组名")).Items(dr("按钮名")).Visible =  dr("可见")
        RibbonTabs(dr("菜单名")).Groups(dr("分组名")).Items(dr("按钮名")).Enabled =  dr("可用")
    End If
Next

[此贴子已经被作者于2018/1/8 0:19:43编辑过]

--  作者:李孝春
--  发布时间:2018/1/8
--  回复:(李孝春)【求助】编译错误:变量“dr”在封闭...
比如 李孝春,张莉,叶安庆,谭飞  四个多选值
都能够同步实现菜单权限授权  也就是相当于是四个同样的记录  但是用户名不一样
且四个用户 每个用户登录都可打开这个菜单

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

[此贴子已经被作者于2018/1/8 0:21:46编辑过]

--  作者:有点甜
--  发布时间:2018/1/8 8:58:00
--  

修改代码

 

For Each dr As DataRow In DataTables("菜单权限表").Select("用户名 like \'%" & _username & "%\' and 菜单名 is not null" )

 

或者

 

For Each dr As DataRow In DataTables("菜单权限表").Select("\',\' + 用户名 + \',\' like \'%," & _username & ",%\' and 菜单名 is not null" )