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

FineReport内置方法

1. 概述

前端預覽報表時,模板會被轉爲 HTML,這個 HTML 的 head 标簽中會引入 FineReport 内置的 JavaScript 文件finereport.js,代碼如下:

<script type="text/javascript" src="/webroot/decision/view/report?op=emb&resource=finereport.js"></script>

finereport.js中包含了許多内置的 function 以及一些公有的屬性,不管是在模板中還是其他網頁中,只要引入了finereport.js就能夠通過 FR.xxx 的形式調用公有的屬性與方法。

Web 事件、控件事件、超級鏈接 JavaScript、決策報表事件中都可以獲取到 FR 對象。

2. 示例

2.1 報表中調用FR方法

訪問報表時會自動引入finereport.js,因此報表添加 JavaScript 腳本時,可以直接使用 FR.xxx 來調用 FR 方法。

2.1.1 添加按鈕

新建普通報表,選中 A1 單元格,給單元格添加一個按鈕控件,按鈕名字改爲測試,如下圖所示:

1.png

2.1.2 添加事件

選中 A1 單元格,右邊屬性面板點擊控件設置>事件,給按鈕添加一個點擊事件,如下圖所示:

image.png

JavaScript 代碼如下:

FR.showDialog("Test",600,400,"Hello World")

2.1.3 效果預覽

保存報表,點擊填報預覽,點擊測試按鈕後,彈出提示對話框,如下圖所示:

1591692680952396.gif

2.2 網頁中調用FR方法

如果需要在自己的網頁,如某個 JSP 頁面中調用 FR 的方法,需要先在 head 标簽引入 finereport.js ,再通過 FR.xxx 來調用 FR 方法。

2.2.1 新建HTML文件

以在網頁自定義按鈕爲例,新建一個 HTML 文件:1.html ,插入如下代碼:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
 <head>
  <title>FineReport Demo</title>
  <meta http-equiv="Content-Type" content="text/htmlcharset=UTF-8" />
  <script type="text/javascript" src="/webroot/decision/view/report?op=emb&resource=finereport.js"></script>
  <link rel="stylesheet" type="text/csshref="/webroot/decision/view/report?op=emb&amp;resource=finereport.css&amp;cssVersion=1557882553214">
  <script>
function button_onclick(){
FR.showDialog("Test"600400"Hello World")
}
</script>
<input type="button" value="測試" onclick="javascript:button_onclick();" />
 </head>
 <body>
</body>  
</html>
顯示代碼

注:此處需要調用 CSS 彈框樣式。

2.2.2 效果預覽

1)将 HTML 文件保存到%FR_HOME%\webapps\webroot路徑下,如下圖所示:

Snag_23e6c3f0.png

2)打開浏覽器,地址欄輸入:http://localhost:8075/webroot/1.html,即可訪問該 HTML 文件,點擊測試按鈕後,彈出提示框,如下圖所示:

1591693340928214.gif

3. 常用方法

方法參數返回值類型說明
Ajax
voidAjax 請求
closeDialog()
void關閉對話框
doHyperlinkByGet(url,config,target,feature)
  • URL 必填,URL 或 JSON超鏈定義

  • config 選填,傳遞的參數

  • target 選填,超鏈子頁的打開位置

  • feature 選填,超鏈打開位置的屬性

void超級鏈接,get 傳遞 config 參數到 target 中,并在 feature 裏面設置窗口屬性
doHyperlinkByPost(url,config,target,feature)
  • URL 必填,URL 或 JSON超鏈定義

  • config 選填,傳遞的參數

  • target 選填,超鏈子頁的打開位置

  • feature 選填,超鏈打開位置的屬性

void

超級鏈接,post 傳遞 config 參數,并将結果顯示在 target 中,并在 feature 裏面設置窗口屬性

doURLPrint(printurl,isPopUp,config)
void打印
$.isArray(object)
Boolean是否爲數組,是返回 true,否返回 false
isEmpty(object)
Boolean是否爲空,是返回 true,否返回 false
jsonDecode(jsonEncode String)
String對 jsonEncode 過的字符串進行反編碼
jsonEncode(String)
String對字符串進行 jsonEncode 編碼
showDialog(title, width, height, innerContent)
void顯示一個對話框
remoteEvaluate(String)
object

執行 FR 内置公式,返回公式計算的結果。

例如:var a = FR.remoteEvaluate("sum(A1,A2)")表示執行 sum(A1,A2)

注1:remoteEvaluate(String) 方法不支持 tablename.select 函數。

注2:網頁中不支持調用 remoteEvaluate(String) 方法。

附件列表


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

文 檔回 饋

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

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

不再提示

9s后關閉

反饋已提交

網絡繁忙