• 如何通过用户上下文信息控制报表元素的可见性


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

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

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

    本文以控制图表的可见性和表格列的可见性为例进行讲解。
    根据用户角色控制可见性,如果是销售总监则可以查看到类别利润占比饼图和表格中的利润列,如果不是,则看不见。
    1.控制图表的可见性
    1.1设计报表的核心元素

    1.2 设置圆环图的隐藏属性
    选中圆环图,在显示选项中设置【隐藏属性】表达式:
    =IIF(InStr(Join(UserContext.GetValues("role"),","),"销售总监")>0,false,true)

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


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

    2.2 设置隐藏表达式,1.2中的步骤

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


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

  • 相关阅读:
    Python 正则表达式简单了解
    scrapy 框架简单 爬取 4K高清 壁纸
    解决验证注解随机问题
    @ConfigurationProperties
    ConstraintValidator自定义注解
    通过日志解读Spring-Mybatis执行顺序
    Spring整合mybatis配置文件
    设计模式——代理模式
    Mybatis框架配置
    设计模式——单例模式
  • 原文地址:https://www.cnblogs.com/edoo/p/13407754.html
Copyright © 2020-2023  润新知