本帖最后由 James.Lv 于 2024-12-17 09:47 编辑
在报表设计中,有时候我们希望用户能够自己选择要查看的数据列,来展示自己选择的数据。如下图所示:
本贴介绍如何利用报表实现用户自选报表列。
重点:利用报表表格列的属性,显示选项下隐藏控制属性然后利用表达式,来根据用户选择的列名来动态控制是否显示列
具体实现步骤:
1、创建报表,选择空白RDL报表
2、添加数据集,绑定表格组件
3、添加参数,供用户下拉选择自己想展示的报表列
添加字符串类型的参数,并且设置为多值数据,因为用户会同时选择多个列。
然后手动添加,根据表格的报表列设置参数的可用数据,标签设置为列名,数据可以自己定义一组,方便后续表达式判断
4、选中表格的列,在表格列的属性,显示选项下隐藏控制属性来根据参数动态显示列
依次对表格的每一个列设置属性,根据参数动态显示列
第一列订单编号隐藏属性表达式:{IIF(InStr(Join(@P1, ","), "T1") > 0, false, true)}
表达式含义:判断用户选择的参数中是否包含T1的数据,如果有就显示,否则隐藏。
第二列支付方式隐藏属性表达式:{IIF(InStr(Join(@P1, ","), "T2") > 0, false, true)}
同样的方法将剩下的列都依次进行属性设置。
5、最后预览即可实现用户自选报表列展示。
|