集算报表实现动态显示列
2016-11-21 14:06
176 查看
需求背景及说明:
报表设计后展现完整包括7个列,但要求用户可以根据自己的需求,让报表在前台展现客户选择的列(任意多列)。
需求分析及实现思路:
既然用户需要在前台显示动态观察列,那么我们完全可以借助报表的隐藏列功能实现。勾选观察列的设置有两种:
1、所有列采用复选框方式勾选
2、下拉列表框,让用户可多选
结果报表可通过字符串组接收用户勾选的列值,而后条件判断是否显示
实现步骤:
本文以下内容将介绍采用可多选下拉列表框实现方式
说明:因为前台控制显示列,与数据库本身没有多大关系,因此这里的报表就不采用连接数据库了。
1、参数表单制作
![](https://img-blog.csdn.net/20161121141831923?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
其中B2单元格变量名为“org”,编辑风格采用下拉列表框,如下
![](https://img-blog.csdn.net/20161121141852517?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
发布后展现效果:
![](https://img-blog.csdn.net/20161121141908470?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
2、 结果报表制作
![](https://img-blog.csdn.net/20161121141926157?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
包括以上7列的报表
报表增加参数“org”,类型为“字符串组”
设置动态隐藏条件(隐藏列表达式):
A1格:if("A"in @org,false,true)
B1格:if("B"in @org,false,true)
C1格:if("C"in @org,false,true)
D1格:if("D"in @org,false,true)
E1格:if("E"in @org,false,true)
F1格:if("F"in @org,false,true)
G1格:if("G"in @org,false,true)
3、发布报表,看结果
默认全部列状态下
![](https://img-blog.csdn.net/20161121141938814?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
交叉选择A、D、E列效果
![](https://img-blog.csdn.net/20161121141953783?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
报表设计后展现完整包括7个列,但要求用户可以根据自己的需求,让报表在前台展现客户选择的列(任意多列)。
需求分析及实现思路:
既然用户需要在前台显示动态观察列,那么我们完全可以借助报表的隐藏列功能实现。勾选观察列的设置有两种:
1、所有列采用复选框方式勾选
2、下拉列表框,让用户可多选
结果报表可通过字符串组接收用户勾选的列值,而后条件判断是否显示
实现步骤:
本文以下内容将介绍采用可多选下拉列表框实现方式
说明:因为前台控制显示列,与数据库本身没有多大关系,因此这里的报表就不采用连接数据库了。
1、参数表单制作
其中B2单元格变量名为“org”,编辑风格采用下拉列表框,如下
发布后展现效果:
2、 结果报表制作
包括以上7列的报表
报表增加参数“org”,类型为“字符串组”
设置动态隐藏条件(隐藏列表达式):
A1格:if("A"in @org,false,true)
B1格:if("B"in @org,false,true)
C1格:if("C"in @org,false,true)
D1格:if("D"in @org,false,true)
E1格:if("E"in @org,false,true)
F1格:if("F"in @org,false,true)
G1格:if("G"in @org,false,true)
3、发布报表,看结果
默认全部列状态下
交叉选择A、D、E列效果
相关文章推荐
- 实现动态统计报表,表头是调用数据库中的字段显示出来的。
- javascript实现动态显示颜色块的报表效果
- 博计报表动态显示图片实现预警
- 巧用锐浪报表:用报表脚本实现动态显示小数位数
- C#中实现动态隐藏/显示RDLC报表的表头(列)
- Android通过iChartJs实现动态图表、报表的显示Demo
- 如何通过动态生成Html灵活实现DataGrid分类统计的界面显示功能 activeandbadboy [原作]
- 如何通过动态生成Html灵活实现DataGrid分类统计的界面显示功能
- 如何使用PB实现动态报表?
- 利用事件-委托,实现主-子窗体动态显示,不同菜单栏,不同工具栏。(类似SQL Server 2000 企业管理器)
- Ajax实现在textbox中输入内容,动态从数据库中模糊查询显示到下拉框中
- vb.net使用水晶报表显示动态Dataset的数据
- 再谈如何实现动态增加(选取)报表字段的问题
- DELPHI实现动态信息显示功能
- 用JSP+Servlet实现二进制图像的动态显示(节选)
- 在水晶报表中实现任意选择指定字段显示 (阿泰)
- 如何通过动态生成Html灵活实现DataGrid分类统计的界面显示功能
- Visual Basic实现动态报表
- SkyTree-便于在各种浏览器中实现动态的树型结构显示
- 【原创源码】(01):利用事件-委托,实现主-子窗体动态显示,不同菜单栏,不同工具栏。(类似SQL Server 2000 企业管理器)