jasperreports自定义数据源

本文介绍如何在jasperreports-5.6.0版本中处理特定需求,即报表包含一个基本对象和一个自定义集合对象。由于jasperreports默认不提供相应数据源,作者通过自定义一个名为ReportDataSource的类,实现了JRDataSource接口,以此来解决这个问题。ReportDataSource类继承自JRAbstractBeanDataSource,并提供了处理CustomList为空的情况,确保报表能够正常输出。
摘要由CSDN通过智能技术生成

使用的是jasperreports-5.6.0版本的包。


需求:  报表由一个基本Basic对象和一个集合类CustomList对象组成

问题:jasperreports没有提供类似可用的datasource类

解决方法:自定义一个DataSource实现JRDataSource接口即可

仿照JRBeanCollectionDataSource写了一个ReportDataSource,同样使其继承JRAbstractBeanDataSource,代码如下:

public class ReportDataSource extends JRAbstractBeanDataSource {
    /**
     *
     */
    private Collection<?> data;
    private Iterator<?> iterator;
    private Object currentBean;

    private Object basicData;//基本数据

    /**
     *
     */
    public ReportDataSource(Object basicData,Collection<?> beanCollection)
    {
        this(basicData,beanCollection, true);
    }
    /**
     *
     */
    public ReportDataSource(Object basicData,Collection<?> beanCollection, boolean isUseFieldDescription)
    {
        super(isUseFieldDescription);

        this.basicData = basicData;
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值