CasparGuo 发表于 2022-4-29 17:15:16

【报表-布局设计】动态隐藏列或者单元格

本帖最后由 Bella.Yuan 于 2023-1-5 17:52 编辑

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


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




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




Eden.Sun 发表于 2022-7-1 17:27:27

您好,您的“登入用户的部门,或者岗位”是通过那种方式实现的呢?如果是通过扩展属性和用户角色实现的话,就可以通过这些信息来设置隐藏列,具体的实现方式如下:

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


查看属性


② 为用户设置属性值(设置部门的值)



③ 我们以报表的"购买数量"列为例,进行隐藏设置,
通过报表内置的“用户上下文”获取我们设置的"部门"信息,
报表设计如下:

隐藏表达式如下,下图的表达式 {IIF(UserContext.getValue("部门") = "B01", true, false)} 含义是:当前的登录用户的"部门"属性为"B01"时,隐藏"购买数量"列;


条件设置前后的效果对比:



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


② 设计报表并添加表达式:
设计的报表:


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


③ 设置前后的效果对比:





星海末 发表于 2022-7-1 13:54:22

楼主,可以根据登入用户的部门,或者岗位来设置隐藏列么?

CasparGuo 发表于 2022-7-4 11:24:05

Eden.Sun 发表于 2022-7-1 17:27
您好,您的“登入用户的部门,或者岗位”是通过那种方式实现的呢?如果是通过扩展属性和用户角色实现的话, ...

棒!
页: [1]
查看完整版本: 【报表-布局设计】动态隐藏列或者单元格