1. 概述
1.1 應用場景
使用超連結傳參查看子範本相關內容時,如果子範本沒有對應的資料,則主範本直接彈出提示對話框,不跳轉到子範本頁面。如下圖所示:
1.2 實現思路
獲取主範本中需要傳給子範本的參數,然後 JS 中呼叫參數執行子範本的 SQL 查詢,如果傳回空值,彈出對話框且不跳轉,否則跳轉到子範本頁面。
2. 範例
2.1 設計子範本
1)建立普通報表,建立資料集 ds1 ,SQL 語句為:SELECT * FROM Sales
2)如下圖設計表格,將資料集中欄位拖到對應儲存格中。
3)雙擊 A2 儲存格,新增一個過濾條件,讓 ID 列等於參數$P,點選增加按鈕。這裏相當於給這個子範本設定了一個參數,超連結傳參會用到。
4)儲存範本,將範本重命名為:超連結前判斷子表.cpt,並分頁預覽下,記下預覽時的 URL 。
2.2 設計主範本
1)建立內建資料集 ds1 ,表設計如下圖所示,為了營造差異,這個內建資料集比上面子表那個資料集多了一個 ID ,也就是 ID 為 6 的這行資料。
這樣預覽時,點選 6 這個 ID 後,因為查不到資料,所以會彈出對話框。
2)如下圖設計表格,將資料集中欄位拖到對應儲存格。
2.3 新增超連結
開啟主範本,選中 A2 儲存格,新增一個 JavaScript 型別的超連結,設定參數P,其值為公式=$$$,下方輸入 JS 代碼,如下圖所示:
JavaScript 代碼如下:
注:代碼裏面有個子範本路徑,那個就是子範本的預覽 URL ,在設計子範本時已經提到了。
2.4 關閉腳本呼叫公式限制按鈕
需要關閉安全防護中的「腳本呼叫公式限制」按鈕。如下圖所示:
2.5 效果預覽
儲存主範本,分頁預覽後,效果如 1.1應用場景 中所示。
不支援 App 端和 HTML5 端預覽。
3. 範本下載
已完成範本參見:
%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject\HyplinkReport\超連結前判斷主表.cpt
%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\SpecialSubject\HyplinkReport\超連結前判斷子表.cpt
點選下載範本: