以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  权限设置与加载树  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=27578)

--  作者:狐椒粉
--  发布时间:2013/1/5 8:32:00
--  权限设置与加载树

各位狐精:

本小狐遇到问题如下:

前提:

1、系列数据全部为外部数据;

2、有系列统计报告是基于这些数据完成的。

 

实现目的:分不同权限,查看不同的内容,如,张三为广州组的成员,张三只允许看到“城市=广州市”数据;总部组的人可以看到所有数据。

 

本小狐采用方法如下:

1、外部加载数据设置为:

过滤条件:[_Identify] Is Null

2、项目属性-项目事件

loadusersetting():

 

If User.Group= "总部" Then

DataTables("大段份额").LoadFilter = ""

DataTables("电视监测流水_明细").LoadFilter = ""

DataTables("报纸监测流水_明细").LoadFilter = ""

DataTables("电台流水模板_明细").LoadFilter = ""

DataTables("杂志监测流水_明细").LoadFilter = ""

DataTables("分钟收视率").LoadFilter = ""

DataTables("广告刊例_明细").LoadFilter = ""

 

 

Else If User.Group= "广州" Then

DataTables("大段份额").LoadFilter = "城市= \'广州市\'"

DataTables("电视监测流水_明细").LoadFilter = "城市中= \'广州市\'"

DataTables("报纸监测流水_明细").LoadFilter = "城市中= \'广州市\'"

DataTables("电台流水模板_明细").LoadFilter = "城市中= \'广州市\'"

DataTables("杂志监测流水_明细").LoadFilter = "城市中= \'广州市\'"

DataTables("分钟收视率").LoadFilter = "城市= \'广州市\'"

DataTables("广告刊例_明细").LoadFilter = "地区= \'广州市\'"

 

 

Else If User.Group= "昆明" Then

DataTables("大段份额").LoadFilter = "城市= \'昆明市\'"

DataTables("电视监测流水_明细").LoadFilter = "城市中= \'昆明市\'"

DataTables("报纸监测流水_明细").LoadFilter = "城市中= \'昆明市\'"

DataTables("电台流水模板_明细").LoadFilter = "城市中= \'昆明市\'"

DataTables("杂志监测流水_明细").LoadFilter = "城市中= \'昆明市\'"

DataTables("分钟收视率").LoadFilter = "城市= \'昆明市\'"

DataTables("广告刊例_明细").LoadFilter = "地区= \'昆明市\'"

 

 

Else If User.Group= "贵阳" Then

DataTables("大段份额").LoadFilter = "城市= \'贵阳市\'"

DataTables("电视监测流水_明细").LoadFilter = "城市中= \'贵阳市\'"

DataTables("报纸监测流水_明细").LoadFilter = "城市中= \'贵阳市\'"

DataTables("电台流水模板_明细").LoadFilter = "城市中= \'贵阳市\'"

DataTables("杂志监测流水_明细").LoadFilter = "城市中= \'贵阳市\'"

DataTables("分钟收视率").LoadFilter = "城市= \'贵阳市\'"

DataTables("广告刊例_明细").LoadFilter = "地区= \'贵阳市\'"

 

 

Else If User.Group= "重庆" Then

DataTables("大段份额").LoadFilter = "城市= \'重庆市\'"

DataTables("电视监测流水_明细").LoadFilter = "城市中= \'重庆市\'"

DataTables("报纸监测流水_明细").LoadFilter = "城市中= \'重庆市\'"

DataTables("电台流水模板_明细").LoadFilter = "城市中= \'重庆市\'"

DataTables("杂志监测流水_明细").LoadFilter = "城市中= \'重庆市\'"

DataTables("分钟收视率").LoadFilter = "城市= \'重庆市\'"

DataTables("广告刊例_明细").LoadFilter = "地区= \'重庆市\'"

 

Else If User.Group= "深圳" Then

DataTables("大段份额").LoadFilter = "城市= \'深圳市\'"

DataTables("电视监测流水_明细").LoadFilter = "城市中= \'深圳市\'"

DataTables("报纸监测流水_明细").LoadFilter = "城市中= \'深圳市\'"

DataTables("电台流水模板_明细").LoadFilter = "城市中= \'深圳市\'"

DataTables("杂志监测流水_明细").LoadFilter = "城市中= \'深圳市\'"

DataTables("分钟收视率").LoadFilter = "城市= \'深圳市\'"

DataTables("广告刊例_明细").LoadFilter = "地区= \'深圳市\'"

 

End If

DataTables("大段份额").Load()

DataTables("电视监测流水_明细").Load()

DataTables("报纸监测流水_明细").Load()

DataTables("电台流水模板_明细").Load()

DataTables("杂志监测流水_明细").Load()

DataTables("分钟收视率").Load()

DataTables("广告刊例_明细").Load()

 

出现了如下问题:

因为启动时要加载所有数据,导致启动过程十分漫长;

但若需要采用加载树的话,权限设置等于报废了,张三可以看到所有数据;

 

各位狐精如何解决这个问题。

 

 


--  作者:lin_hailun
--  发布时间:2013/1/5 8:40:00
--  
 你可以自己设计一个分页加载树,修改加载的条件便可。

http://www.foxtable.com/help/topics/2692.htm

--  作者:狐椒粉
--  发布时间:2013/1/5 11:32:00
--  

表分两部分:

1、原始表

2、基于原始表的统计表

原始表可以用加载树加载部分数据

统计表需要统计全部数据(基于后台统计)

这样,在加上权限设置,就比较麻烦了,不知怎么搞


--  作者:lin_hailun
--  发布时间:2013/1/5 11:46:00
--  
以下是引用狐椒粉在2013-1-5 11:32:00的发言:

表分两部分:

1、原始表

2、基于原始表的统计表

原始表可以用加载树加载部分数据

统计表需要统计全部数据(基于后台统计)

这样,在加上权限设置,就比较麻烦了,不知怎么搞


没有多麻烦吧?统计数据的时候,不是也可以设置条件的么?

既然可以设置条件,就可以权限控制了。