background image
报表引擎 API 开发入门带参程序数据集
我们今天又来讲讲报表开发的事,上周开的这个系列入门文章也三四天了,浏览量不佳小编
甚是悲伤啊,希望大家多多支持我!
一、问题描述
在实际应用中,可能需要根据表名动态地改变数据源,比如在程序数据集中,通过传进的表
名参数,到数据库取出对应的表作为数据源。因为
FineReport 是通过 AbstractTableData
抽象类来读取数据源的,而上述所有的数据来源都继承实现其抽象方法 ,因此用户只要实
现了
AbstractTableData 抽象类,也就可以用自定义类型的数据源了(程序数据集),
FineReport 报表引擎就能够读取定义的数据源作为报表数据源使用。以下就对这种情况举
例说明。
二、实现原理
与简单程序数据集相同,即继承
AbstractTableData。大家可以参考我上次的文章。
三、实现步骤
3.1 定义参数
定义一个参数,并定义数据表结构,代码如下:
public
ParamTableDataDemo
() {
// 定义 tableName 参数
this
.parameters =
new
Parameter[] {
new
Parameter(
"tableNa
me"
) };
// 定义程序数据集列名
columnNames =
new
String[columnNum];
for
(
int
i =
0
; i < columnNum; i++) {
columnNames[i] =
"column#"
+ String.valueOf(i);
}