Foxtable(狐表)用户栏目专家坐堂 → 权限多级控制


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

主题:权限多级控制

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


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

8楼方案更加好,一时没记起这个好东东.

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


加好友 发短信
等级:九尾狐 帖子:2464 积分:22751 威望:0 精华:0 注册:2011/3/29 17:14:00
  发帖心情 Post By:2014/5/27 14:37:00 [只看该作者]

以下是引用有点甜在2014-5-27 11:05:00的发言:

 编写beforeload事件,控制加载条件

 

 参考 http://www.foxtable.com/help/topics/2057.htm

 

 

If User.Group = "雇员" '如果用户分组是雇员
Dim fl As String = "[雇员] = '" & User.Name & "'"
If e.DataTable.LoadFilter = "" Then
e.
DataTable.LoadFilter = fl
ElseIf
e.DataTable.LoadFilter.IndexOf(fl) < 0 Then
'如果没有包括雇员条件
e.
DataTable.LoadFilter = e.DataTable.Loadfilter & " And " & fl
End If
End
If

 

怎样修改成如下代码一样的控制方案

 

select case User.Name

case "经理"

DataTables("计划表").LoadFilter = "部门 = '" & User.Group & "'"

case "主管"

DataTables("计划表").LoadFilter = ""

case "职员"

DataTables("计划表").LoadFilter = "职员 = '" & User.Name & "'"

end select

DataTables("计划表").Load()


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


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

Dim fl As String


   

select case User.Name

case "经理"

fl = "部门 = '" & User.Group & "'"

case "主管"

fl = ""

case "职员"

fl = "职员 = '" & User.Name & "'"

end select

If e.DataTable.LoadFilter = "" Then

    e.DataTable.LoadFilter = fl

else if e.DataTable.LoadFilter.IndexOf(fl) < 0 Then

   e.DataTable.LoadFilter = e.DataTable.Loadfilter & " And " & fl

end if

DataTables("计划表").Load()



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


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

 如下

 

Dim filter As String = "1=1 "
Select Case User.Name
    Case "经理"
        filter = "部门 = '" & User.Group & "'"
    Case "主管"
        filter = "1=1"
    Case "职员"
        filter = "职员 = '" & User.Name & "'"
End Select

If e.DataTable.LoadFilter > "" Then
    filter = filter & " and " & e.DataTable.Loadfilter
End If
e.DataTable.LoadFilter = filter


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


加好友 发短信
等级:九尾狐 帖子:2464 积分:22751 威望:0 精华:0 注册:2011/3/29 17:14:00
  发帖心情 Post By:2014/5/27 15:10:00 [只看该作者]

编写beforeload  

 

 

13楼  会死机

14楼  没有产生效果


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


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

上个例子看看.

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


加好友 发短信
等级:九尾狐 帖子:2464 积分:22751 威望:0 精华:0 注册:2011/3/29 17:14:00
  发帖心情 Post By:2014/5/27 15:17:00 [只看该作者]

以下是引用Bin在2014-5-27 15:11:00的发言:
上个例子看看.

老师 我上了例子

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:2014部门级工作规划及成果管理平台.foxdb

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:工作计划数据库.zip


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


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

 看了一下,这样改,红色地方,再测试一下。

 

Dim filter As String = "1=1 "
Select Case User.Roles
    Case "经理"
        filter = "部门 = '" & User.Group & "'"
    Case "主管"
        filter = "1=1"
    Case "职员"
        filter = "职员 = '" & User.Name & "'"
End Select

If e.DataTable.LoadFilter > "" Then
    filter = filter & " and " & e.DataTable.Loadfilter
End If
e.DataTable.LoadFilter = filter


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


加好友 发短信
等级:九尾狐 帖子:2464 积分:22751 威望:0 精华:0 注册:2011/3/29 17:14:00
  发帖心情 Post By:2014/5/27 16:02:00 [只看该作者]

以下是引用有点甜在2014-5-27 15:24:00的发言:

 看了一下,这样改,红色地方,再测试一下。

 

Dim filter As String = "1=1 "
Select Case User.Roles
    Case "经理"
        filter = "部门 = '" & User.Group & "'"
    Case "主管"
        filter = "1=1"
    Case "职员"
        filter = "职员 = '" & User.Name & "'"
End Select

If e.DataTable.LoadFilter > "" Then
    filter = filter & " and " & e.DataTable.Loadfilter
End If
e.DataTable.LoadFilter = filter

还是不能达到控制效果  会加载其他的用户或是组的数据  是不是列的设计有问题

还是加载其他部门的数据

 


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20140527161132.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2014-5-27 16:12:41编辑过]

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


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

 只要设置了,就不可能会加载,你再认真测试一下吧,只会加载符合条件的数据

 

Dim filter As String = "1=1 "
Select Case User.Roles
    Case "经理"
        filter = "部门 = '" & User.Group & "'"
    Case "主管"
        filter = "1=1"
    Case "职员"
        filter = "职员 = '" & User.Name & "'"
End Select

If e.DataTable.LoadFilter > "" Then
    filter = filter & " and " & e.DataTable.Loadfilter
End If
e.DataTable.LoadFilter = filter


 回到顶部
总数 22 上一页 1 2 3 下一页