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 = this.options.form.getWidgetByName("rs");//獲取名爲rs的控件
var s = c.getValue();//獲取控件的的值
contentPane.loadSheetByName(s);//切換到名爲s(上面獲取到的值)的sheet
2.3 預覽效果
保存模板,預覽方式選擇「填報預覽」或「數據分析」預覽報表,選中「單選按鈕組控件」的任意一值,可以切換到對應的 sheet 頁。效果如下圖所示:
注:不支持移動端。
3. 模板下載
已完成的模板,可參見:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\JS\填報預覽JS實例\17-JS實現點擊單選按鈕組切換sheet.cpt
點擊下載模板:17-JS實現點擊單選按鈕組切換sheet.cpt