當前為10.0版本文檔,更多實例內容將在最新幫助文檔中展現,點選跳轉至 最新版幫助文檔

自定義按鈕

1. 概述

1.1 問題描述

FR 雖然有内置的工具欄,但是位置與樣式比較死,只能固定在報表上方或下方,不靈活。

用戶系統已經自己定義了一套工具欄按鈕,頁面中只需要嵌入報表内容,不使用 FR 的工具欄,如下圖,用戶自己系統裏面自定義的打印與輸出按鈕,放在頁面中報表部分之外,如果需要打印報表,點擊自定義的按鈕,就可調用 FR 的打印方法進行打印,如下圖,那麽這種效果該如何實現呢?

1.2 實現思路

對於這種 iframe 中嵌入的報表情況,點擊自定義按鈕時,先通過 JS 獲取到報表所在 iframe,由於此 iframe 中嵌入了 FR 報表,在初始化的時候會創建一個 contentWindow 對象,故接下來使用 contentWindow 獲取報表,然後獲得 contentWindow 的容器屬性 contentPane,最後調用相應的方法。

如報表嵌入在 ID 爲 reportFrame 的 iframe 中,那麽可以通過下面格式的 JS 代碼,調用 FR 内置工具欄的所有方法:

document.getElementById('reportFrame').contentWindow.contentPane.方法名稱();

如上圖的自定義打印按鈕的 click 事件中就可以寫如下代碼,觸發 FR 的打印方法:

document.getElementById('reportFrame').contentWindow.contentPane.pdfPrint();

1.3 已完成模板

點擊下載:

print.html

2. contentPane 下所有工具欄按鈕事件及說明

按鈕名稱方法名稱說明
首頁gotoFirstPage()跳轉到第一頁
末頁gotoLastPage()跳轉到最後一頁
上一頁gotoPreviousPage()跳轉到上一頁
下一頁gotoNextPage()跳轉到下一頁
跳轉到指定頁gotoPage(num)跳轉到指定 num 頁
零客戶端打印noClientPrint(popupMarginSetup, ieQuietPrint)popupMarginSetup:是否彈出設置窗口,true 爲彈出,false 爲不彈出
ieQuietPrint: IE靜默打印設置  true 爲靜默,false 爲不靜默
本地打印newNativePrint(popupDialog, serverURL)popupDialog:是否彈出設置窗口,true 爲彈出,false 爲不彈出
serverURL:報表所在的服務器地址,例如 http://localhost:8080
pdf導出exportReportToPDF()pdf 導出
word導出exportReportToWord()word 導出
excel導出exportReportToExcel('指定格式')參數爲 page 時分頁導出;simple 原樣導出;sheet 分頁分 sheet 導出
郵件emailReport()郵件發送
打印預覽printPreview()iframe 中的報表爲分頁預覽或者數據分析時才可以用
提交writeReport()強制提交
校驗verifyReport()數據校驗,只有填報表才可以用
校驗并提交verifyAndWriteReport()先對數據進行校驗,校驗成功則提交數據
插入行列appendReportRC(num)插入 num 行或列,只有填報表才可以用
删除行列deleteReportRC()删除行列,只有填報表才可以用
導入excelimportExcel()在線導入 Excel,只有填報表才可以用
頁面設置pageSetup()只有數據分析才可以用

3. 按鈕事件的示例鏈接

自定義提交自定義提交按鈕
自定義批量導出按鈕自定義批量導出按鈕
自定義翻頁按鈕自定義翻頁按鈕
自定義導出按鈕自定義導出按鈕
自定義縮放按鈕自定義縮放按鈕
工具欄顯示數據總量工具欄顯示數據總量



附件列表


主題: 原簡體文檔
  • 有幫助
  • 沒幫助
  • 只是瀏覽

文 檔回 饋

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

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

不再提示

9s後關閉

反饋已提交

網絡繁忙