反饋已提交
網絡繁忙
在進行查詢資料時,一般是根據參數值的不同展現不同的資料,但是可能希望根據參數值的不同跳轉到不同的範本,此時要如何實現呢?如下圖所示:
使用三張範本: 子範本1、子範本2、參數範本 實現。
1)準備好 子範本1、子範本2 並儲存至相應路徑。
2)建立範本,參數面板設定兩個下拉框元件和一個查詢按鈕。
兩個下拉框元件分別設定資料字典,其中一個下拉框的資料字典設定為「訂單」表中的「訂單ID」,另一個下拉框的資料字典自訂為兩個子範本。
查詢按鈕設定點選事件,點選後跳轉到選擇的表,並傳遞訂單ID。
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
1)點選菜單欄「檔案>建立普通報表」,如下圖所示:
2)點選參數面板的編輯按鈕,進入參數面板編輯介面,向參數面板中拖入兩個標籤元件,兩個下拉框元件和一個查詢按鈕。如下圖所示:
3)選中右側的「label0」,點選「屬性」,設定元件值為字串「訂單ID:」;同理,設定「label1」的元件值為字串「查看錶:」。
如下圖所示:
4)選中右側的「comBox0」,點選「屬性」,設定元件名稱為「orderID」;同理,設定「comBox1」的元件名稱為「cptName」。
5)選中右側的「orderID」,點選「屬性」,點選資料字典旁的「... 」按鈕,設定資料字典,類型設定為「資料庫表」,資料庫為「FRDemo」,選擇資料庫表為「訂單」,實際值和顯示值都為「訂單ID」。如下圖所示:
6)選中右側的「cptName」,點選「屬性」,點選資料字典旁的「... 」按鈕,設定資料字典,類型設定為「自訂」,實際值為報表路徑,Father1.cpt 對應顯示值為:訂單,Son.cpt對應顯示值為:訂單明細。如下圖所示:
7)選中右側的「formSubmit0」,點選「事件」,點選「+」按鈕,設定查詢按鈕點選事件,如下圖所示:
JS 程式碼如下:
var orderID = this.options.form.getWidgetByName("orderID").getValue(); var cptName = this.options.form.getWidgetByName("cptName").getValue();window.location = "${servletURL}?viewlet=" + cptName + "&ID="+ orderID;
注1:子報表名稱包含中文時第三行程式碼需要使用 encodeURI() 轉碼函式,程式碼如下:
window.location = "${servletURL}?viewlet=" + encodeURI(cptName) + "&ID=" + orderID;
注2:如果子報表為填報報表,需要在第三行程式碼的 cptName 後增加 "&op=write",程式碼如下:
window.location = "${servletURL}?viewlet=" + cptName + "&op=write" + "&ID=" + orderID;
注3:如果希望在新視窗開啟,第三行程式碼修改如下:
window.open("${servletURL}?viewlet=" + cptName + "&ID=" + orderID,"_blank")
儲存範本,點選「分頁預覽」,如 1.2 節所示。
不支援行動端。
已完成範本,可參見:%FR_HOME%\webroot\WEB-INF\reportlets\doctw\Parameter\根據參數查看不同報表.cpt。
點選下載範本:根據參數查看不同報表.cpt
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
反馈已提交
网络繁忙