Bella.Yuan 发表于 2022-11-28 12:07:30

表格根据参数动态显示列

相信大家在报表设计过程中,有时会遇到这样的一个需求,表格的列需要根据参数的选择去进行显示或者隐藏,今天我们就来一起看看这个需求如何解决吧~

需求:根据我选择的参数展示对应的列。
这个问题的解决方法也很简单,首先肯定是需要用到报表参数,其次就是表格列的“隐藏”属性。
实现方法:
数据源和数据集这里略过,如果对这方面有问题的同学,可以参考这个链接学习一下:
创建数据源 - ActiveReports 报表控件用户手册 - 葡萄城产品文档中心 (grapecity.com.cn)
1):创建数据源,数据集和报表参数,这里为了方便展示,我使用的是内嵌json,在设计器拖入一个表格,并绑定对应的字段,如下图示,这里为了展示效果,我做了一列行号:

报表参数设置截图,这里我给参数设置了默认值,预览时就可以直接看到效果:

2):设置列隐藏,选中对应的列,右侧属性隐藏,使用表达式去设置它的隐藏和显示,如下图示:
这里简单讲解一下对应的函数:
IIf:根据第一个参数的结果逻辑值(真/假),返回第二个或者第三个参数的值,这里用它来做显示或者隐藏,true是隐藏,false是显示。
Join:连接指定数组的元素或集合的成员,在每个元素或成员之间使用指定的分隔符,这里用它来将多值参数使用“,”来进行分隔。
IndexOf:判断子字符串在主字符串中出现的索引位置,从0位置开始查找,找到返回对应的索引位置,未找到则返回-1,这里去判断对应的参数值出现的索引位置,每个列的使用的参数值不一样,根据需求选择即可,我的需求是根据列名称展示对应的列,所以我的每列IndexOf的参数是对应的列名。

3):预览查看报表,可以看到选择不同的参数会展示不同的列。
   
下面附上我的demo,欢迎大家一起交流哦!

页: [1]
查看完整版本: 表格根据参数动态显示列