以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]目录树权限设置  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=77720)

--  作者:jygyyl
--  发布时间:2015/11/24 11:06:00
--  [求助]目录树权限设置
下面代码可以实现当前用户单位相等时,加载本单位数据。想增加如果当前用户单位代码是620201801、620201802、620201803的也可以加载数据。求老师指点代码如写,谢谢!

Dim Value()As String
Dim Filter As String
Value = e.Node.FullPath.Split("\\")
Select Case e.Node.Level
    Case 0
        Filter ="GS607 = \'" & Value(0) & "\'"
    Case 1
        Filter ="GS607 = \'" & Value(0) & "\' And Year(GS506) = \'" & Value(1) & "\'"
End Select
If User.Type <> UserTypeEnum.Administrator AndAlso User.Type <> UserTypeEnum.Developer Then
    Filter= "(" & Filter & ") and GS607 = \'" & _UserDept & "\'"
End If
DataTables("FQzsyjl_FQzsyjl").LoadFilter = Filter
DataTables("FQzsyjl_FQzsyjl").Load()

--  作者:大红袍
--  发布时间:2015/11/24 11:09:00
--  

单位代码用逗号分隔,如 620201801,620201802

 

Filter= "(" & Filter & ") and GS607 = \'" & _UserDept & "\'"

 

改成

 

Filter= "(" & Filter & ") and GS607 in (\'" & _UserDept.Replace(",", "\',\'") & "\')"


--  作者:jygyyl
--  发布时间:2015/11/24 11:18:00
--  回复:(大红袍)单位代码用逗号分隔,如 620201801,6...
If User.Type <> UserTypeEnum.Administrator AndAlso User.Type <> UserTypeEnum.Developer Then

是否也可以修改为

If User.Type <> UserTypeEnum.Administrator AndAlso User.Type <> UserTypeEnum.Developer AndAlso _UserPlace  not in("620201801", "620201802“,”620201803") Then

--  作者:大红袍
--  发布时间:2015/11/24 11:29:00
--  

加入是一个字符串,就这样写

 

Dim str As String = "620201801,620201802"

If str.Contains(_UserPlace) = False Then

 

End If