最新历史版本 :JS实现点击超链切换Tab块 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

报表服务器
App 版本HTML5移动端展现插件
11.011.011.0

1.2 预期效果

用户通过点击报表块单元格的超级链接,实现 Tab 块的切换。如下图所示:

1578366944310199.gif

1.3 实现思路

使用 JavaScript 类型的超级链接,通过 JS 接口 showCardByIndex,实现 Tab 切换。

2. 示例编辑

2.1 新建模板

新建决策报表,拖入 1 个报表块和 1 个 Tab 块,添加 3 个 Tab 标题。模板设计如下图所示:

1578367214553668.png

2.2 设置超级链接

为 A2、A3、A4 单元格添加超级链接。选中 A2 单元格,点击超级链接,添加JavaScript 脚本,添加 JS 代码,如下图所示:

1634541347786981.png

各单元格超级链接的 JavaScript 代码如下表所示:

A2单元格:

_g().getWidgetByName("tabpane0").showCardByIndex(0);

A3单元格:

_g().getWidgetByName("tabpane0").showCardByIndex(1);

A4单元格:

_g().getWidgetByName("tabpane0").showCardByIndex(2);

注:tabpane0 是指整个 tabpane0对象,index 是指的索引,从 0 开始。

若需要点击超链跳转并传递参数可以在代码中添加一句传递参数的语句并设置参数。如下图所示:

实现了点击报表块「标题0」超链时,跳转到对应的 Tab块,并传递参数 TabName 的值给对应的 Tab块,其中 TabName 的值为 A2 单元格的值。在对应 Tab 块中,输入 $TabName 即可引用参数。

1634541499310091.png

JavaScript 代码如下:

//切换Tab块
_g().getWidgetByName("tabpane0").showCardByIndex(0);
//传递参数
_g().getWidgetByName('REPORT1').gotoPage(1, {
"TabName": aa
}, 'true');

2.3 效果预览

2.3.1 PC端

保存模板,点击预览,效果如 1.2 预期效果所示。

2.3.2 移动端

App 和 HTML5 端预览效果相同,如下图所示:

2022-08-30_14-50-25.gif

3. 模板下载编辑

已完成的模板可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\表单JS实例\09-JS实现点击超链切换TAB页.frm

点击下载模板:09-JS实现点击超链切换TAB页.frm

4. 注意事项编辑

如果安装了新自适应插件出现报错:COST0M JS ERROR:CAN NOT READ PROPERTY 'FORM ' OF UNDEFINED

您可以升级自适应插件版本或修改代码:

_g().getWidgetByName("tabpane0").showCardByIndex(2);