反饋已提交

網絡繁忙

動態列印

一、描述

  1. 在進行報表查看時,有時會發現一兩條重要或者錯誤資訊,需要將其進行列印出來備份一下,這時就需要動態實現列印效果,勾選需列印的資訊,將其列印出來。

注:在 JAR 包版本為 2018-04-09 及以上版本時,請使用新的列印方式,詳情參照:列印

二、思路

  1. 透過勾選複選框元件,獲取到需要列印的值,點擊【自訂列印】按鈕,把值以參數的形式傳到另一個範本,並列印出來,以達到只列印出客戶所勾選記錄的效果。

三、實現步驟

1
父範本。
  1. 資料準備,建立範本,建立資料查詢:SQL 為【SELECT * FROM 僱員】。

  2. 在 A3 儲存格中使用複選框元件,用來勾選需要列印的資訊,如下圖1所示。

  3. 獲取複選框的值:為複選框元件新增初始化事件如下圖2所示,將勾選項的資訊放到陣列中儲存,代碼如下代碼塊1所示。

  4. 工具欄新增自訂列印按鈕。【點擊範本】→【範本 Web 屬性】→【填報頁面設定】,選擇【為該範本單獨設定】,新增一個自訂列印按鈕至工具欄中,並把自訂列印按鈕清空,如下圖3所示。詳細請參照:範本-範本web屬性 中的填報頁面設定。

  5. 自訂 JavaScript,代碼如下代碼塊2所示。

  6. 已完成範本請參見【%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doctw\Advanced\PrintReport\動態列印主範本.cpt】。

if(!FR.checkBoxes){FR.checkBoxes=new Array();}var len=FR.checkBoxes.length;FR.checkBoxes[len]=this;

 

var joinData=function(){var datas=[]; for(var i=0;i<FR.checkBoxes.length;i++){var checkBox=FR.checkBoxes[i];if(checkBox.getValue()===true){var colRow=FR.cellStr2ColumnRow(checkBox.options.location);colRow.col++;var location=FR.columnRow2CellStr(colRow);var value=_g().getCellValue(location,null);datas[datas.length]=value;}}return datas.join(",");}var data=joinData();var url="http://localhost:8075/webroot/decision/view/report?viewlet=doctw%2FAdvanced%2FPrintReport%2F%5B52a8%5D%5B6001%5D%5B6253%5D%5B5370%5D%5B5b50%5D%5B6a21%5D%5B677f%5D.cpt"+"&ids="+data;window.onbeforeunload=null;FR.doURLPDFPrint(url);


2.jpg

3.jpg

2
子範本。
  1. 資料準備:建立範本,建立資料查詢 ds1,SQL 為SELECT * FROM 僱員 where 僱員id in (${ids}),該參數是為了接收父範本傳遞過來的僱員 ID。

  2. 報表主體設計如下圖所示。

  3. 儲存,已完成範本請參見【%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doctw\Advanced\PrintReport\動態列印子範本.cpt】。

注:父範本與子範本的樣式應當保持一致,因為點擊列印按鈕之後,將父範本中的資料以參數的形式傳遞給子範本,並列印子範本。

4.jpg

3
預覽與列印。
  1. 開啟父範本,點擊填報預覽,選中需要列印的資料,點擊工具欄上的列印按鈕,即可將選中資訊列印出來了,如下圖所示。

注:由於父範本中填報元件的存在,必須以填報預覽的方式查看。

5.gif


附件列表


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

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

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

不再提示

10s後關閉

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

反馈已提交

网络繁忙