找回密码
 立即注册

QQ登录

只需一步,快速开始

James.Lv 讲师达人认证 悬赏达人认证 活字格认证 Wyn认证

超级版主

223

主题

2652

帖子

5897

积分

超级版主

Rank: 8Rank: 8

积分
5897

活字格认证活字格高级认证Wyn高级认证Wyn认证微信认证勋章讲师达人元老葡萄悬赏达人

James.Lv 讲师达人认证 悬赏达人认证 活字格认证 Wyn认证
超级版主   /  发表于:2021-4-30 18:10  /   查看:3745  /  回复:2
本帖最后由 Bella.Yuan 于 2023-1-5 18:43 编辑

在报表设计中,有时候我们希望用户能够自己选择要查看的数据列,来展示自己选择的数据。如下图所示:
1.gif
本贴介绍如何利用报表实现用户自选报表列。

image.png838242797.png image.png873379821.png


重点:利用报表表格列的属性,显示选项下隐藏控制属性然后利用表达式,来根据用户选择的列名来动态控制是否显示列

具体实现步骤:
1、创建报表,选择空白RDL报表
image.png842653808.png

2、添加数据集,绑定表格组件
image.png196622008.png

3、添加参数,供用户下拉选择自己想展示的报表列
添加字符串类型的参数,并且设置为多值数据,因为用户会同时选择多个列。
然后手动添加,根据表格的报表列设置参数的可用数据,标签设置为列名,数据可以自己定义一组,方便后续表达式判断
image.png805552978.png

4、选中表格的列,在表格列的属性,显示选项下隐藏控制属性来根据参数动态显示列
依次对表格的每一个列设置属性,根据参数动态显示列
第一列订单编号隐藏属性表达式:{IIF(InStr(Join(@P1, ","), "T1") > 0, false, true)}
表达式含义:判断用户选择的参数中是否包含T1的数据,如果有就显示,否则隐藏。
image.png227589720.png

第二列支付方式隐藏属性表达式:{IIF(InStr(Join(@P1, ","), "T2") > 0, false, true)}
同样的方法将剩下的列都依次进行属性设置。

5、最后预览即可实现用户自选报表列展示。
1.gif


评分

参与人数 1满意度 +5 收起 理由
Tony_Fu + 5 妙啊

查看全部评分

2 个回复

倒序浏览
tongki悬赏达人认证 活字格认证
中级会员   /  发表于:2021-4-30 20:15:26
沙发
学习了先!
回复 使用道具 举报
James.Lv讲师达人认证 悬赏达人认证 活字格认证 Wyn认证
超级版主   /  发表于:2021-5-6 12:15:40
板凳
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部