1. 概述
1.1 应用场景
每个项目可能会制作成千上万张报表。用户只想查看其中的一张或几张,但摆在用户面前的是成千上万张,用户一个一个选择预览十分耗时耗力。现提供一种方法,用户可以便捷地选择预览自己想查看的报表。如下图所示:
1.2 实现思路
主模板:参数面板添加下拉复选框控件,通过下拉复选框传递模板 URL 给报表中网页框控件,网页框控件显示模板预览效果,若选择多个模板,以多个 sheet 方式呈现效果。
子模板:修改sheet 名称待用。
2. 示例
2.1 子模板准备
1)打开%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Primary\GroupReport\Group_2.cpt,点击「sheet」,鼠标右键选择「重命名」,将 sheet 名改为销售员销量表,如下图所示:
2)打开%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Form\LineForm\LineForm.cpt,点击「sheet」,鼠标右键选择「重命名」,将 sheet 名改为「产品明细表」,如下图所示:
2.2 主模板设计
2.2.1 数据准备
新建普通报表,新建内置数据集报表列表,存储通过 encode 编码转换的子模板路径。如下图所示:
模板路径如何实现 encode 编码转换:
1)销售员销售表路径:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Primary\GroupReport\Group_2.cpt
只需要将{reportlet:'/doc/Primary/GroupReport/Group_2.cpt'} encode转码 即可,
注1:这里转码用的是中括号里面的路径;
注2:如果系统使用了性能优化插件,这里页面就会显示不出,需要禁用性能优化插件。
转码后结果为:%7Breportlet%3A'%2Fdoc%2FPrimary%2FGroupReport%2FGroup_2.cpt'%7D
2)产品明细表路径:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Form\LineForm\LineForm.cpt
转码后结果为:%7Breportlet%3A'%2Fdoc%2FForm%2FLineForm%2FLineForm.cpt'%7D
2.2.2 添加模板参数
选择「模板>模板参数」,点击「模板参数」,设置参数名为report,如下图所示:
2.2.3 模板设计
合并一些单元格,点击「控件设置」,选择「网页框控件」,地址为:${servletURL}?reportlets=%5B${report}%5D&op=view。如下图所示:
地址解释:网页框使用可参考:网页框控件,${report} 为 report 参数传递过来的报表路径,op=view 指定报表预览方式为分页预览。
2.2.4 添加下拉复选框
切换到参数面板,添加「标签控件」和「下拉复选框控件」,设置下拉复选框控件名称为参数report,定义数据字典,如下图所示:
2.3. 效果预览
2.3.1 PC 端
保存模板,点击「数据分析」,效果如下图所示:
2.3.2 移动端
暂不支持移动端预览