1. 概述
1.1 问题描述
报表有多个sheet 时,每次切换 sheet 都需要移动鼠标点击左下方便签,且 sheet 标签过多时,很难准确的选中标签,能不能通过一种简单的方法来供用户准确的选中 sheet 呢?
如下图所示,sheet 标签名称为「单选按钮组控件」的任意一值,点击可以切换到对应的 sheet。
1.2 实现思路
给「单选按钮组控件」添加「状态改变」事件,选择不同的值,页面跳转到对应的 sheet 页。
2. 示例
2.1 准备模板
1)新建模板,添加 6 个 sheet,分别重命名为苹果、草莓、橘子、梨子、蓝莓、葡萄。如下图所示:
注:在 sheet 名字上单击鼠标右键,可选择重命名。
2)点击菜单栏「模板<模板参数」,新增「模板参数」rs,如下图所示:
3)将参数 rs 添加在参数界面,绑定「单选按钮组控件」,如下图所示:
设置 「单选按钮组控件」的「数字字典」,类型选择「自定义」,自定义选项为 sheet 标签名,如下图所示:
注:单选按钮组的选项实际值必须与sheet名一一对应。
2.2 添加事件
选中「单选按钮组控件」,添加一个「状态改变」事件。如下图所示:
JavaScript 代码如下:
var c = _g().getParameterContainer().getWidgetByName("rs");
var s = c.getValue();
_g().loadSheetByName(s);
2.3 预览效果
保存模板,预览方式选择「填报预览」或「数据分析」预览报表,选中「单选按钮组控件」的任意一值,可以切换到对应的 sheet 页。效果如下图所示:
注:不支持移动端。
3. 模板下载
已完成的模板,可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\填报预览JS实例\17-JS实现点击单选按钮组切换sheet.cpt
点击下载模板:17-JS实现点击单选按钮组切换sheet.cpt