以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]可视化授权如下功能如何实现?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=79226)

--  作者:wendude
--  发布时间:2015/12/27 9:58:00
--  [求助]可视化授权如下功能如何实现?

可视化授权代码:

For Each t As Table In Tables
    t.Visible =
True
    t.AllowEdit =
true
    For Each c As Col In t.Cols
        c.Visible =
True
        c.AllowEdit =
True
    Next

Next
Tables
("表").Visible = (User.Type <> UserTypeEnum.User )
If
User.Type = UserTypeEnum.User Then
    For Each dr As DataRow In DataTables("表").Select("用户名 = \'" & User.Name & "\'" )
        If
dr.IsNull("列名")
Then
       
    Tables(dr("表名")).Visible = Not dr("不见")
            Tables
(dr("表名")).AllowEdit = Not dr("不编辑")

        Else
           
Tables(dr("表名")).Cols(dr("列名")).Visible = Not dr("不见")
            Tables
(dr("表名")).Cols(dr("列名")).AllowEdit = Not dr("不编辑")
        End
If
    Next
End
If

现在想实现功能:在授权表中的用户名列下每行可以有多个用户名,用逗号隔开,然后执行上述代码进行看用户名是否有编辑表的权限。思路:在用户名列下,建立数组,使用SPlit分割进行选择,谁写一个简单的代码?谢谢!


--  作者:大红袍
--  发布时间:2015/12/27 11:57:00
--  

For Each dr As DataRow In DataTables("授权表").Select("用户名 = \'" & User.Name & "\'" )


改成

 

For Each dr As DataRow In DataTables("授权表").Select("\',\' + 用户名 + \',\' like \'%," & User.Name & ",%\'" )