Foxtable(狐表)用户栏目专家坐堂 → 求助:加载树权限问题


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

主题:求助:加载树权限问题

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


加好友 发短信
等级:一尾狐 帖子:463 积分:4163 威望:0 精华:0 注册:2011/4/5 16:54:00
求助:加载树权限问题  发帖心情 Post By:2014/6/20 15:46:00 [只看该作者]

求教老师,我的加载树代码如下:
Dim Value()As String
Dim Filter As String
Value = e.Node.FullPath.Split("\")
Select Case e.Node.Level
    Case 0
       Filter ="HGB402 = '" & Value(0) & "'"
    Case 1
        Filter ="HGB402 = '" & Value(0) & "' And Year(GB311) = " & Value(1)
    Case 2
        Filter ="HGB402 = '" & Value(0) & "' And Year(GB311) = " & Value(1) & " And Month(GB311) = " & Value(2) 
    End Select
DataTables("CSsmdj").LoadFilter = Filter
DataTables("CSsmdj").Load()

另外在项目属性AfterOpenProject中写入:

If User.Name = "管理员" Then

    DataTables("CSsmdj").LoadFilter = ""

Else

    DataTables("CSsmdj").LoadFilter = "HGB402 = '" & User.Name & "'"

   End If

DataTables("CSsmdj").Load()



想法是普通用户只能加载自己的数据,不能加载查看别人的数据。

现在的问题是只以有开发者和管理员身份登录可以双击节点加载数据,普通用户双击不加载数据,求各位老师不吝赐教!


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/6/20 15:49:00 [只看该作者]

If User.Type = UserTypeEnum.Administrator OrElse User.Type = UserTypeEnum.Developer Then
  
DataTables("CSsmdj").LoadFilter = Filter
    DataTables("CSsmdj").Load()
End If

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


加好友 发短信
等级:一尾狐 帖子:463 积分:4163 威望:0 精华:0 注册:2011/4/5 16:54:00
回复:(Bin)If User.Type = UserTypeEnum...  发帖心情 Post By:2014/6/20 17:05:00 [只看该作者]

问题没有解决,将段代码写入 AfterOpenProject报错。

主要是加载树权限问题,即:开发者和管理员登陆可以加载所有用户的数据,其他用户只能加载自己的数据(即:"HGB402 = '" & User.Name & "'")。

我现在的问题是其他用户登陆双击加载树节点,没有实现加载数据自己数据!不知什么地方设置错误了?

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/6/20 17:06:00 [只看该作者]

是加到加载树代码里面去.

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/6/20 17:07:00 [只看该作者]

你这前后问题不一致

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/6/20 17:07:00 [只看该作者]

 看你上面的代码,不会出现你这样的问题,做个例子发上来。

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/6/20 17:08:00 [只看该作者]

If User.Type <> UserTypeEnum.Administrator AndAlso User.Type <> UserTypeEnum.Developer Then
  
Filter= "(" & Filter & ") and HGB402 = '" & User.Name & "'"
End If

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


加好友 发短信
等级:一尾狐 帖子:463 积分:4163 威望:0 精华:0 注册:2011/4/5 16:54:00
回复:(Bin)是加到加载树代码里面去.  发帖心情 Post By:2014/6/20 17:10:00 [只看该作者]

写到加载树代码里面也没有实现想要的效果!

Dim Value()As String
Dim Filter As String
Value = e.Node.FullPath.Split("\")
Select Case e.Node.Level
    Case 0
       Filter ="HGB402 = '" & Value(0) & "'"
    Case 1
        Filter ="HGB402 = '" & Value(0) & "' And Year(GB311) = " & Value(1)
    Case 2
        Filter ="HGB402 = '" & Value(0) & "' And Year(GB311) = " & Value(1) & " And Month(GB311) = " & Value(2) 
    End Select
If User.Type = UserTypeEnum.Administrator OrElse User.Type = UserTypeEnum.Developer Then
DataTables("CSsmdj").LoadFilter = Filter
DataTables("CSsmdj").Load()
End If

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/6/20 17:13:00 [只看该作者]

例子说话,你本来的代码也不会出现你所说的问题。

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


加好友 发短信
等级:一尾狐 帖子:463 积分:4163 威望:0 精华:0 注册:2011/4/5 16:54:00
回复:(Bin)If User.Type <> UserT...  发帖心情 Post By:2014/6/20 17:21:00 [只看该作者]

Dim Value()As String
Dim Filter As String
Value = e.Node.FullPath.Split("\")
Select Case e.Node.Level
    Case 0
        Filter ="HGB402 = '" & Value(0) & "'"
    Case 1
        Filter ="HGB402 = '" & Value(0) & "' And Year(GB311) = " & Value(1)
    Case 2
        Filter ="HGB402 = '" & Value(0) & "' And Year(GB311) = " & Value(1) & " And Month(GB311) = " & Value(2)
End Select
If User.Type <> UserTypeEnum.Administrator AndAlso User.Type <> UserTypeEnum.Developer Then
    Filter= "(" & Filter & ") and HGB402 = '" & User.Name & "'"
    DataTables("CSsmdj").LoadFilter = Filter
    DataTables("CSsmdj").Load()
End If

加载树代码改成上面的,开发者、管理员也不能加载数据了!

 回到顶部
总数 15 1 2 下一页