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


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

主题:权限多级控制

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


加好友 发短信
等级:九尾狐 帖子:2464 积分:22751 威望:0 精华:0 注册:2011/3/29 17:14:00
权限多级控制  发帖心情 Post By:2014/5/27 10:22:00 [显示全部帖子]

If User.Name = "经理" Then
    DataTables("计划表").LoadFilter = ""
Else
    DataTables("计划表").LoadFilter = "部门 = '" & User.Group & "'"
End If
DataTables("计划表").Load()

 

 

多个部门  制造   设计部

下面各有

经理

主管

职员

 

   我想如果部门 经理 登陆看到部门的全部  主管看到所主管的全部  职员只能看到自己的内容  怎么解决  求助!!

[此贴子已经被作者于2014-5-27 10:25:08编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2464 积分:22751 威望:0 精华:0 注册:2011/3/29 17:14:00
  发帖心情 Post By:2014/5/27 10:39:00 [显示全部帖子]

谢谢

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


加好友 发短信
等级:九尾狐 帖子:2464 积分:22751 威望:0 精华:0 注册:2011/3/29 17:14:00
  发帖心情 Post By:2014/5/27 10:56:00 [显示全部帖子]

以下是引用Bin在2014-5-27 10:28:00的发言:

select case User.Name 

      case "经理"

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

      case  "主管"

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

      case  "职员"

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

end select

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

问题解决了  出现新的问题,当我刷新时  这个权限就失效了   怎样再刷新   或加载所有行时   这个权利还是又有效的呢


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


加好友 发短信
等级:九尾狐 帖子:2464 积分:22751 威望:0 精华:0 注册:2011/3/29 17:14:00
  发帖心情 Post By:2014/5/27 11:00:00 [显示全部帖子]

以下是引用Bin在2014-5-27 10:56:00的发言:
何为之刷新?   你重新LOAD不会影响原来的LOADFILTER的
 
 
我放了一个加载树   启动只有部分数据加载  后面需要全部加载数据


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

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


加好友 发短信
等级:九尾狐 帖子:2464 积分:22751 威望:0 精华:0 注册:2011/3/29 17:14:00
  发帖心情 Post By:2014/5/27 11:10:00 [显示全部帖子]

以下是引用Bin在2014-5-27 11:03:00的发言:
那你需要自己设计一个加载树.  在加载条件统一加上你的权限条件判断.

不会的话就上个例子吧.


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


加好友 发短信
等级:九尾狐 帖子:2464 积分:22751 威望:0 精华:0 注册:2011/3/29 17:14:00
  发帖心情 Post By:2014/5/27 11:10:00 [显示全部帖子]


[此贴子已经被作者于2014-5-27 11:42:54编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
yifan3429
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | 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()


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


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

编写beforeload  

 

 

13楼  会死机

14楼  没有产生效果


 回到顶部
帅哥哟,离线,有人找我吗?
yifan3429
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | 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


 回到顶部
帅哥哟,离线,有人找我吗?
yifan3429
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | 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编辑过]

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