反饋已提交

網絡繁忙

根據參數查看不同報表

1. 概述

1.1 版本

報表伺服器版本
功能變更
11.0--

1.2 預期效果

在進行查詢資料時,一般是根據參數值的不同展現不同的資料,但是可能希望根據參數值的不同跳轉到不同的範本,此時要如何實現呢?如下圖所示:

1.3 實現思路

使用 3 張範本來實現:參數範本、子範本 1、子範本 2。

參數介面單獨製作一張範本,使用下拉框元件選擇要查看的報表,點選查詢時觸發點選事件,跳轉到對應報表,並將其餘參數也傳遞給報表。

2. 範例

2.1 範本設計

2.1.1 子範本準備

1)子範本1:%FR_HOME%\webroot\WEB-INF\reportlets\doctw\Advanced\Father1.cpt

或者點選下載範本並儲存到對應路徑:Father1.cpt

2)子範本2:%FR_HOME%\webroot\WEB-INF\reportlets\doctw\Advanced\Son.cpt

或者點選下載範本並儲存到對應路徑:Son.cpt

2.1.2 參數範本設計

建立普通報表,點選「範本>範本參數」,定義兩個參數分別為 orderID,cptName 。

1)設定 orderID 的元件類型為下拉框,其值選擇資料庫表中的訂單表,實際值與顯示值都選擇訂單 ID,如下圖所示:

2)設定 cptName 的元件類型為下拉框,其值選擇自訂,列出需要查看的報表名稱,實際值為對應報表路徑,如下圖所示:

3)查詢按鈕事件設定,給查詢按鈕增加點選事件,如下圖所示:

2.2

JS 程式碼如下:

var orderID = this.options.form.getWidgetByName("orderID").getValue();    
var cptName = this.options.form.getWidgetByName("cptName").getValue();
window.location = "${servletURL}?viewlet=" + cptName + "&ID="+ orderID;

注:子報表名稱包含中文的時候需要使用encodeURI()轉碼函式,程式碼格式如下:

window.location = "${servletURL}?viewlet=" + encodeURI(cptName) + "&ID="+ encodeURI(orderID);

或者:

window.location = encodeURI("${servletURL}?viewlet=" + cptName + "&ID="+ orderID);

注:如果子報表為填報報表,需要在 cptName 後增加 "&op=write"。

如果希望在新視窗開啟,改為這段程式碼:

window.open("${servletURL}?viewlet=" + encodeURI(cptName) + "&ID="+ encodeURI(orderID),"_blank")

2.2 效果預覽

2.2.1 PC 端

儲存範本,點選「分頁預覽」,如 1.2 節所示。

2.2.2 行動端

不支援行動端。

3. 範本下載

已完成範本,可參見:%FR_HOME%\webroot\WEB-INF\reportlets\doctw\Parameter\根據參數查看不同報表.cpt

點選下載範本:根據參數查看不同報表.cpt

附件列表


主題: 參數應用
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤
中文(繁體)

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

10s後關閉

獲取幫助
線上支援
獲取專業技術支援,快速幫助您解決問題
工作日9:00-12:00,13:30-17:30在线
頁面反饋
針對當前網頁的建議、問題反饋
售前咨詢
業務咨詢
電話:0933-790886或 0989-092892
郵箱:taiwan@fanruan.com
頁面反饋
*問題分類
不能為空
問題描述
0/1000
不能為空

反馈已提交

网络繁忙