在某些應(yīng)用場景中,需要在程序中對數(shù)據(jù)進(jìn)行處理后再作為報(bào)表的數(shù)據(jù)源使用,以下例子即為一個(gè)簡單的不帶參程序數(shù)據(jù)集ArrayTableData的使用過程,并以此簡要說明程序數(shù)據(jù)集的使用方法。
1. 定義程序數(shù)據(jù)源
由之前的概述可知,程序數(shù)據(jù)集需要實(shí)現(xiàn)TableData接口,可以直接繼承該接口,實(shí)現(xiàn)其5個(gè)方法,也可以從AbstractTableData擴(kuò)展,因?yàn)?/span>AbstractTableData已經(jīng)實(shí)現(xiàn)了默認(rèn)的hasRow(int rowIndex)方法。
該例中的程序數(shù)據(jù)集ArrayTableData就是直接從AbstractTableData擴(kuò)展的,完整代碼如下:
package com.demo;
import com.fr.data.AbstractTableData;
public class ArrayTableDataDemo extends AbstractTableData {
//定義程序數(shù)據(jù)集的列名與數(shù)據(jù)保存位置
private String[] columnNames;
private Object[][] rowData;
//實(shí)現(xiàn)構(gòu)建函數(shù),在構(gòu)建函數(shù)中準(zhǔn)備數(shù)據(jù)
public ArrayTableDataDemo(){
String[] columnNames ={"Name","Score"};
Object[][] datas = {{"Alex",new Integer(15)},{"Helly",new Integer(22)},{"Bobby",new Integer(99)}};
this.columnNames = columnNames;
this.rowData = datas;
}
//實(shí)現(xiàn)TableData的其他四個(gè)方法,因?yàn)?/span>AbstractTableData已經(jīng)實(shí)現(xiàn)了hasRow方法
public int getColumnCount(){
return columnNames.length;
}
public String getColumnName(int columnIndex){
return columnNames[columnIndex];
}
public int getRowCount(){
return rowData.length;
}
public Object getValueAt(int rowIndex, int columnIndex){
return rowData[rowIndex][columnIndex];
}
}
1.把上面代碼復(fù)制到txt文檔重命名為ArrayTableDataDemo.java。放到C:\FineReport6.5\WebReport\WEB-INF\classes\com\demo這個(gè)目錄下
2.打開開始cmd—cd—輸入C:\FineReport6.5\WebReport\WEB-INF\classes enter 然后 javac –classpath ../lib/fr-server-6.5.jar com/demo/ArrayTableDataDemo.java enter 就OK了.
編譯ArrayTableData.java生成ArrayTableData.class類。將生成的類文件拷貝到報(bào)表工程/WEB-INF/classes目錄下。由于該類是在com.demo包中的,因此最終應(yīng)該將該ArrayTableData.class放在/WEB-INF/classes/com/demo下面。此時(shí)該程序數(shù)據(jù)源便定義好了。
2. 配置程序數(shù)據(jù)源
? 新建報(bào)表
? 在報(bào)表數(shù)據(jù)集中新建程序數(shù)據(jù)源,選擇我們定義好的程序數(shù)據(jù)集,如下圖
名字可以自定義,如student
3. 使用程序數(shù)據(jù)集
配置好程序數(shù)據(jù)源后便可以使用定義的student程序數(shù)據(jù)集了,與其他類型的數(shù)據(jù)集使用方法是相同的,可以通過拖拽方法實(shí)現(xiàn)單元格數(shù)據(jù)列綁定。如下圖
文章轉(zhuǎn)自:http://blog.vsharing.com/fanfanzheng/A1368702.html
了解Java報(bào)表工具就從這里開始