反饋已提交
網絡繁忙
實際應用中,使用者可能需要通程式式來獲取資料。FineReport 支援程式資料集,使用者自訂程式資料源後,可在資料集處新增「程式」資料集使用。
本文將會透過一個簡單範例,講解如何定義和使用程式資料集。範例將透過 Java 程式,自訂一個簡單資料表,用來製作報表。
SimpleTableData 抽象類中定義了資料源相關的屬性和方法,使用者如果想要自訂程式資料集,可以在定義類的時候繼承SimpleTableData 類,這樣就可以使用其上的方法定義程式資料源,定義好後 FineReport 報表引擎就能夠讀取定義的資料源作為報表資料源使用。
下面實現一個簡單自訂資料源,作為程式資料集使用。資料如下表所示:
編譯程式前,需先建立一個 Java 工程環境,並且需要一個 Java 編輯器,如 Eclipse 或 idea 。
在編輯器工程中匯入 FineReport 工程 JAR 包。包括報表工程
%FR_HOME%/lib下的所有的包,
%FR_HOME%/server/lib 下的所有包,
%FR_HOME%/webapps/webroot/WEB-INF/lib下的所有包,
還要引入 JDK 下的 tools.jar。詳細操作可參考:編譯Java程式
在編輯器中編寫 Java 程式 SimpleArrayTableDataDemo.java,即定義一個類,繼承 SimpleTableData ,定義資料列和資料。
完整程式碼可參見:
注:建議檔案的包名路徑和如下程式碼中一致,若不一致,要保證在 2.3 節 %FR_HOME%webapps/webroot/WEB-INF/classes 工程路徑下有對應的資料夾。且程式碼中需要手動引入 SimpleTableData,即程式碼中加入 import com.fr.data.SimpleTableData;
https://code.fanruan.com/demo/example/src/branch/release/10.0/src/main/java/com/fr/data/SimpleArrayTableDataDemo.java
Java 程式編寫完成後,在編譯器中編譯 SimpleArrayTableDataDemo.java ,編譯透過後,將會在編譯器對應工程檔案儲存路徑下生成 SimpleArrayTableDataDemo.class 類檔案。如下圖所示:
將編譯後生成的 SimpleArrayTableDataDemo.class 類檔案檔案複製到 %FR_HOME%webapps/ webroot/WEB-INF/classes/com/fr/data 工程目錄下,重啟報表工程。
此時該程式資料源便定義好了。如下圖所示:
注:遠端設計時,本地設計器和遠端伺服器的工程下都需要放置程式資料集對應的 class 檔案。
點選下載 class 檔案:SimpleArrayTableDataDemo.rar
點選範本資料集下面的加號,選擇「程式」資料集,在彈出的程式資料集對話框中,選擇對應的 class 檔案,如下圖所示:
選定 class 檔案後,點選儲存後即完成了程式資料源配置。
配置好程式資料源後便可以使用自訂的程式資料集,與其他類型的資料集使用方法相同,可以透過拖曳方法實現儲存格資料列綁定。如下圖所示:
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
反馈已提交
网络繁忙