反饋已提交

網絡繁忙

傳參列印其它報表

一、概述

  1. 應用場景:在報表中透過傳參的方式列印其他報表。例如:有一張訂單表,對於每條記錄後面都希望有一個【列印】按鈕,點擊的時候可以將該記錄對應的明細報表列印出來。

  2. 實現思路:透過 JavaScript 型別的超連結,實現點擊超連結後呼叫 FineReport 的列印方法,傳遞需要列印的報表路徑及參數,將報表列印出來。

二、範例一:範本傳參列印

1
設計子範本。
  1. 子範本是被列印的範本,建立普通報表,新增資料集:SELECT * FROM 訂單明細。資料庫查詢詳情請看資料庫查詢

  2. 設計子範本表格,將對應欄位拖曳到儲存格中,如下圖1所示。

  3. 為了在主範本中將參數傳遞給子範本,需要透過參數設定資料過濾。子範本和主範本共有的欄位是【訂單ID】,雙擊 A2 儲存格,進入【過濾】進行配置。如下圖2所示。


image.png

 

image (1).png

 

2
設計主範本。
  1. 主範本是列印的地方,建立普通報表,新增資料集:SELECT * FROM 訂單 limit 10 。

  2. 設計主範本表格,將對應欄位拖曳到儲存格中,其中 F2 儲存格填寫正文【列印】,這個儲存格後面會新增超連結,如下圖所示。


image (2).png

 

3
新增超連結。
  1. 主範本選中 F2 儲存格,新增一個 JavaScript 型別的超連結,新增一個參數【id】,其值為【=A2】,作為傳參用,然後輸入 JavaScript 代碼,如下圖所示。JavaScript 代碼如下代碼塊所示。


image (3).png

 

var reportURL="/webroot/decision/view/report?viewlet=doc%2FParameter%2F%5B53c2%5D%5B6570%5D%5B4f20%5D%5B9012%5D%5B6253%5D%5B5370%5D_%5B5b50%5D%5B6a21%5D%5B677f%5D.cpt&id=" +id; //範例用到的子範本路徑,可根據實際修改
FR.doURLPDFPrint(reportURL); //呼叫FR列印方法。

 

4
效果預覽。
  1. 主範本點擊【分頁預覽】,效果如下圖所示。

注1:列印不支援行動端。

注2:填報預覽也可以透過按鈕元件的點擊事件來呼叫列印事件,並且可以傳遞參數。

 

5.gif

 

三、範例二:Web頁面傳參列印

1
原始碼。
  1. 在 Web 頁面中呼叫 FineReport 列印方法前,需要先引入 finereport.js,這個檔案是報表工程自帶的,直接在 Web 代碼中新增即可。

  2. 以下代碼為原始碼,裏面包括了函式可以實現的功能,參數的不同效果。您可以根據自己的實際需求進行修改。

注1:finereport.js 在報表工程目錄中沒有實體檔案,引用它有個固定寫法,詳情參見文檔:FR對象使用說明

注2:以上都是使用的本地列印,若想使用其他列印方法可以查看 JS呼叫FR列印方法文檔,用法類似。

 

<html> 
 <head> 
 <title>FineReport Demo</title> 
 <meta http-equiv="Content-Type" content="text/html; charset=GBK" />  
<script type="text/javascript" src="/webroot/decision/view/report?op=emb&resource=finereport.js"></script>  
<link rel="stylesheet" type="text/css" href="/webroot/decision/view/report?op=emb&resource=finereport.css"/>  
 <script type='text/javascript'> 
 function doPrint(){   
var printurl="http://localhost:8075/webroot/decision/view/report";
var reportlets ="[{reportlet: "+document.report.cpt.value+"}]";
var config = {
printUrl : printurl,
isPopUp : true, 
// 是否彈出設定視窗,true為彈出,false為不彈出。
data :{ 
reportlets: reportlets // 需要列印的範本列表。
},
printType : 1, // 列印型別,0為零用户端列印,1為本地列印。
// 以下為本地列印的參數,僅當 printType 為 1 時生效。
printerName : 'Microsoft Print to PDF', // 列印機名。
pageType: 2, // 列印頁碼型別:0:所有頁,1:當前頁,2:指定頁。
pageIndex: '1-3', // 頁碼範圍。當 pageType 為 2 時有效。
copy: 3, // 列印份數。
};
FR.doURLPrint(config);
}   
 </script> 
 </head> 
 <body> 
 <form name="report"> 
 <input id="cpt" type="checkbox" value="GettingStarted.cpt" />GettingStarted.cpt  
 </form> 
 <input type=button name=doprint onclick=doPrint() value='doPrint'></input> 
 </body> 
 </html>

 

2
實體。
  1. 根據上面的原始碼,檔案下載后放入下圖所示的路徑中,可以直接在本地透過 URL 開啟預覽,如下圖1所示。

  2. 或者開啟內建伺服器,在瀏覽器中輸入:http://localhost:8075/webroot/help/page_demo/immeprint.html,選中複選框,點擊 【doprint】 按鈕即可列印,效果如下圖2所示。

 

image (4).png
10.gif

 

四、範本下載

  1. 已完成範本請參見以下路徑。或者點擊下載檔案。

  2. %FR_HOME%\webapps\webroot\doctw\Parameter\參數傳遞列印_主範本.cpt

  3. %FR_HOME%\webapps\webroot\doctw\Parameter\參數傳遞列印_子範本.cpt


參數傳遞列印_主範本.cpt

參數傳遞列印_子範本.cpt

immeprint.rar

 


附件列表


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

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

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

不再提示

10s後關閉

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

反馈已提交

网络繁忙