找回密码
 立即注册

QQ登录

只需一步,快速开始

CasparGuo
超级版主   /  发表于:2022-4-29 17:15  /   查看:3537  /  回复:3
本帖最后由 Bella.Yuan 于 2023-1-5 17:52 编辑

Wyn中的报表模块可以根据表达式来动态的隐藏显示列、行、以及单元格,具体操作步骤如下:


选中列、单元格或者行,进行如下图步骤操作

image.png444122008.png

image.png508172301.png
示例表达式:{IIF(购买数量 > 0, true, false)},该表达式的意思为:如果购买数量大于0,则隐藏列,反之则显示。表达式橙色部分为条件,可以根据实际需求进行定义。
你学会了吗?




3 个回复

倒序浏览
Eden.SunWyn认证
超级版主   /  发表于:2022-7-1 17:27:27
来自 3#
您好,您的“登入用户的部门,或者岗位”是通过那种方式实现的呢?如果是通过扩展属性用户角色实现的话,就可以通过这些信息来设置隐藏列,具体的实现方式如下:

1. 通过"扩展属性"实现隐藏:
① 增加一项“拓展属性
image.png766367492.png

查看属性
image.png327169799.png

② 为用户设置属性值(设置部门的值)
image.png388923949.png
image.png675397948.png

③ 我们以报表的"购买数量"列为例,进行隐藏设置,
通过报表内置的“用户上下文”获取我们设置的"部门"信息,
报表设计如下:
image.png282515868.png
隐藏表达式如下,下图的表达式 {IIF(UserContext.getValue("部门") = "B01", true, false)} 含义是:当前的登录用户的"部门"属性为"B01"时,隐藏"购买数量"列;
image.png140970763.png

条件设置前后的效果对比:
image.png579624633.png


2. 通过"角色"实现:
① 我们新建角色并为其分配对用的用户(我新建的角色是“t11”):
image.png838333434.png

② 设计报表并添加表达式:
设计的报表:
image.png93597716.png

② 为对应的列设置表达式(我们以"客户省份"列为例),表达式为:{IIF(Join(UserContext.GetValues("role"), ",").Contains("t11"), true, false)} ,意为当角色信息中包含“t11”时,隐藏本列:
image.png666062316.png

③ 设置前后的效果对比:
image.png489440612.png




回复 使用道具 举报
星海末
初级会员   /  发表于:2022-7-1 13:54:22
沙发
楼主,可以根据登入用户的部门,或者岗位来设置隐藏列么?
回复 使用道具 举报
CasparGuo
超级版主   /  发表于:2022-7-4 11:24:05
地板
Eden.Sun 发表于 2022-7-1 17:27
您好,您的“登入用户的部门,或者岗位”是通过那种方式实现的呢?如果是通过扩展属性和用户角色实现的话, ...

棒!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部