皕杰报表自定义扩展~自定义数据集

正常情况下,皕杰报表的数据集是直接连接数据库取数的,但是如果遇到特殊情况需要通过中间件连接数据库,而非直接连接,就需要用到自定义数据集。
所谓自定义数据集,就是说数据集是自己写的一个java类,这个类的添加与其它自定义开发的类一样,设计器中在类加载配置中添加,服务器中打成jar包放到WEB-INF/lib下。
1、自定义数据集在皕杰报表设计器中使用
新建数据集,名称为ds,数据源不选,类型选择为自定义类型。
在这里插入图片描述

点击下一步,在编辑查询sql里写上自定义数据集的全路径。
在这里插入图片描述

然后点击下一步,将需要向自定义数据集中传参的参数选择进来。
在这里插入图片描述

数据集的参数序号和自定义数据集代码中的applyParams方法中的(java.lang.Object[] params)object数组一一对应。
然后点击完成,自定义数据集就创建完成了。
2、自定义数据集在皕杰报表服务器WEB端的应用
web中添加自定义数据集也有两种方式:
一是将编译好的.class文件打成jar包,放到WEB-INF\lib文件夹里;二是将.class文件放到WEB-INF\classes目录下。一般记住打jar包就可以了。
3、类介绍
用户自定义数据集需实现bios.report.api.customize.CustomDataSet接口。自定义数据集基础接口,直接实现该接口无效,应根据数据需要实现ArrayDataSet或IteratorDataSet。
4、方法说明
bios.report.api.customize.CustomDataSet接口:
applyParams
语法:void applyParams(java.lang.Object[] params)
用途:应用数据集参数,以实现动态获取数据。
参数:params - 参数列表,Object数组,与设计器中指定的数据集参数一一对应。
getMetaData
语法:java.lang.String[] getMetaData()
用途:获取数据元信息,主要用以在设计器中展示数据集的结构。
返回值:列名数组,长度要与数据列数一致
bios.report.api.customize.ArrayDataSet接口:自定义数据集接口,用户可以实现该接口,以自定义的方式完成报表中某个数据集的数据准备和加载。该接口适合一次性的数据加载模式。 实现类需要一个无参数的构造方法。
getRowCount
语法:public abstract int getRowCount()
用途:获取该数据集中数据的总行数
返回值:数据总行数
getRowData
语法:public abstract java.lang.Object[] getRowData(int rowIndex)
用途:获取指定行的数据
参数:rowIndex - 数据行序号,从0开始。
返回值:代表一行数据的Object数组
bios.report.api.customize.IteratorDataSet接口:自定义数据集接口,用户可以实现该接口,以自定义的方式完成报表中某个数据集的数据准备和加载。该接口适合逐条数据迭代加载的模式。 实现类需要一个无参数的构造方法。
nextRow()
语法:java.lang.Object[] nextRow()
用途:加载数据集中下一行的数据
返回值:代表一行数据的Object数组;返回null时,表示数据加载完毕。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值