找回密码
 立即注册

QQ登录

只需一步,快速开始

MatrixTian 讲师达人认证 悬赏达人认证

高级会员

141

主题

211

帖子

1380

积分

高级会员

积分
1380

微信认证勋章讲师达人元老葡萄悬赏达人

MatrixTian 讲师达人认证 悬赏达人认证
高级会员   /  发表于:2020-6-28 18:57  /   查看:3117  /  回复:0
本帖最后由 Eden.Sun 于 2023-1-5 19:11 编辑

在查看报表时,经常同一张报表,需要根据查看者的省份,对需要显示的元素进行控制,以保证数据的权限控制和安全管理。
在Wyn Enterprise报表当中,每个可视化元素都有丰富的配置属性。其中,隐藏属性可以用来控制报表元素的可见性。
其属性值可以通过表达式来进行控制。

实现基于用户上下文信息的报表元素可见性控制,核心步骤如下:
1.通过表达式获取当前用户上下文信息;
   使用UserContext.GetValue函数来获取当前登录用户的上下文信息。具体使用方法参考:
https://help.grapecity.com.cn/pages/viewpage.action?pageId=50017924

2.将元素的隐藏属性设置为对应的表达式。

本文以控制图表的可见性和表格列的可见性为例进行讲解。
根据用户角色控制可见性,如果是销售总监则可以查看到类别利润占比饼图和表格中的利润列,如果不是,则看不见。
1.控制图表的可见性
1.1设计报表的核心元素
image.png528082274.png
1.2 设置圆环图的隐藏属性
选中圆环图,在显示选项中设置【隐藏属性】表达式:
=IIF(InStr(Join(UserContext.GetValues("role"),","),"销售总监")>0,false,true)

表达式释义:如果当前用户的角色中有“销售总监”这个角色,则返回假,即不隐藏;否则为真,即隐藏。
image.png362004699.png

2.通过表达式中表中的中列可见性
2.1 在表格中选中需要隐藏的列头,并设置其【隐藏】属性。
image.png903259887.png
2.2 设置隐藏表达式,1.2中的步骤

示例效果:
销售总监报表:可以看到类别的利润占比圆环图和表格中的利润列。
image.png949515075.png

销售经理:只能看到自己所负责地区的省份数据,看不到其他不属于他权限内可见的元素。 image.png505362548.png




0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部