1. 概述
1.1 预期效果
使用超链跳转到填报报表时,希望可以跳转到指定的 sheet 页,效果如下图所示:
1.2 实现思路
超链传参 sheet 序号,链接的填报报表里面添加加载结束事件,根据该序号打开指定 sheet 页。
2. 示例
2.1 设计子模板
新建一张普通报表,该模板新建 3 个 sheet ,如下图所示:
2.2 设计主模板
1)新建一张普通报表,新建内置数据集 Embedded1 ,表设计如下图所示:
2)将数据集中的「sheet序号」字段拖入 A2 单元格,并给该单元格设置数据字典,其实际值为字段「sheet序号」,显示值为字段「超链」,如下图所示:
设置数据字典的目的:超链传参时传递的是实际值,这里想要前端预览时显示「超链」字段的文本内容,但传参时希望传递「sheet序号」。
2.3 添加超链
主模板 A2 单元格添加一个网络报表超级链接,链接到子模板,因为是填报方式打开,所以 URL 后缀一定要加&op=write哦。
给这个超链添加一个参数a,其值为公式$$$,如下图所示:
2.4 设置加载结束事件
子模板的「填报页面设置」处添加一个加载结束事件,事件中设置参数b,其值为公式$a,也就是主模板传过来的参数。
JavaScript 代码如下:
//sheet页下标在eq()中是从0开始 fr-sheetbutton-container为sheet页的集合
$(".fr-sheetbutton-container").eq(b).trigger("click");
2.5 效果预览
保存报表,分页预览后跳转 sheet 如 1.1预期效果 中所示。
不支持 App 端和 HTML5 端预览。
3. 模板下载
已完成模板请参见:
%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject\HyplinkReport\超链跳转指定sheet页主模板.cpt
%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject\HyplinkReport\超链跳转指定sheet页子模板.cpt
点击下载模板: