以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 用户权限设置问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=129755) |
-- 作者:huizhong -- 发布时间:2019/1/5 11:43:00 -- 用户权限设置问题 老师,我在权限设置中对用户角色采用多选结构,即一人多岗,现在有个问题 1- 有个资产管理主表,主表中有一列为“公司标记组”,体现内容为资产的所有方和使用方的标记,比如,资产所有方为GX;但使用方为IY,则“公司标记组”列体现为GX,IY 2- 我想实现对于角色者而言,如果角色仅为GX或者仅为IY,则均可加载该资产数据,否则不可 3- 但是,如果角色是多选,例如,角色为GX,XR,我想实现对于这个角色中任何一个角色只要在“资产管理主表”的“公司标记组”列中包含,则加载数据,例如角色GX,XR,则系统加载“公司标记组”列中包含GX或者XR的所有行 请问老师,如第三条所述,代码该如何修改,烦劳指导,以下是错误代码,该代码只适用单一角色,但是双角色不行,您受累给指导下 LoadUserSetting事件代码如下 DataTables("资产管理主表").LoadFilter = "\',\' + 公司标记组 + \',\' like \'%," & User.Roles.replace(",", "\',\'") & ",%\'" |
-- 作者:有点蓝 -- 发布时间:2019/1/5 12:13:00 -- Dim filter As String = " 1=2 " For Each n As String In User.Roles.Split(",") filter = filter & "or \',\' + 公司标记组 + \',\' like \'%," & n & ",%\' " Next DataTables("资产管理主表").LoadFilter = filter
|