1. 概述
1.1 預期效果
在設定超級連結時,會遇到連結到的範本是有參數。希望點選超級連結時,當前儲存格的內容作為參數值傳遞給下一個報表的參數。如下圖所示:
1.2 實現方法
透過網路報表或 JavaScript 腳本,實現超級連結到有參數的範本。
2. 範例一:網路報表
2.1 子範本
建立普通報表,另存為%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject\HyplinkReport\超級連結到有參數的範本-子範本.cpt
2.1.1 建立資料集
新增資料集 ds1:SELECT * FROM 銷量 where 1=1 ${if(len(area) == 0,"","and 地區 = '" area "'")}
area 為自訂參數名稱,也就是對應地區的過濾名稱(元件名)。判斷元件值是否為空,如為空,預設查詢全部。
如下圖所示:
2.1.2 設計報表
1)報表頁面設計如下圖所示:
2)選中 C2 儲存格,選擇儲存格元素>基本,資料設定為匯總、求和。如下圖所示:
2.2 主範本
建立普通報表,另存為%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject\HyplinkReport\超級連結到有參數的範本-網路報表.cpt
2.2.1 建立資料集
新增資料集 ds1:SELECT * FROM 銷量
如下圖所示:
2.2.2 設計報表
1)報表頁面設計如下圖所示:
2)選中 C2 儲存格,選擇儲存格元素>基本,資料設定為匯總、求和。如下圖所示:
2.3 設定超級連結並傳遞參數
開啟超級連結到有參數的範本-網路報表.cpt,選中 A2 儲存格,點選超級連結,新增網路報表。
網路報表選擇/doc/SpecialSubject/HyplinkReport/超級連結到有參數的範本-子範本.cpt,連結開啟於新視窗,設定參數area=$$$
設定參數 area=$$$ 的目的:前端預覽時點選哪個擴展出來的資料,就將這個資料作為參數area傳遞給子範本。設定介面如下圖所示:
2.4 效果預覽
2.4.1 PC 端
儲存範本,點選分頁預覽。點選「華東」,跳轉至子範本,且子範本只顯示「華東」部分的資料。如下圖所示:
2.4.2 行動端
App 及 HTML5 端預覽效果如下圖所示:
3. 範例二:JavaScript 腳本
3.1 範本設定
1)子範本設定與本文 2.1 節一致,另存為%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject\HyplinkReport\超級連結到有參數的範本-子範本(JavaScript).cpt
2)主範本設定與本文 2.2 節一致,另存為%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject\HyplinkReport\超級連結到有參數的範本-JavaScript 腳本.cpt
3.2 設定超級連結並傳遞參數
開啟超級連結到有參數的範本-JavaScript 腳本.cpt,選中 A2 儲存格,點選超級連結,新增 JavaScript 腳本。
設定參數A=A2,新增 JavaScript 代碼,如下圖所示:
JavaScript 代碼如下:
window.open("${servletURL}?viewlet=doc/SpecialSubject/HyplinkReport/超級連結到有參數的範本-子範本(JavaScript).cpt&op=view&area="+A);
3.3 效果預覽
儲存範本,點選分頁預覽。點選「華東」,跳轉至子範本,且子範本只顯示「華東」部分的資料。如下圖所示:
注:不支援行動端。
4. 已完成範本
4.1 範例一:網路報表
1)主範本
點選下載範本:超級連結到有參數的範本-網路報表.cpt
2)子範本
點選下載範本:超級連結到有參數的範本-子範本.cpt
4.2 範例二:JavaScript 腳本
1)主範本
點選下載範本:超級連結到有參數的範本-JavaScript 腳本.cpt
2)子範本