JasperReport使用自定義的JRDataSource創建報表


  前面介紹了使用Collection of JavaBeans方式創建報表,其實我們還可以通過自定義實現JRDataSource接口的方式,為了方便此處直接繼承JRBeanCollectionDataSource,同樣的此處也需要增加一個靜態工廠方法

package org.example.datasource;

import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
import org.example.entity.User;

import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

public class CustomerBeanCollectionDataSource extends JRBeanCollectionDataSource {
    public CustomerBeanCollectionDataSource(Collection<?> beanCollection) {
        super(beanCollection);
    }

    public CustomerBeanCollectionDataSource(Collection<?> beanCollection, boolean isUseFieldDescription) {
        super(beanCollection, isUseFieldDescription);
    }

    public static CustomerBeanCollectionDataSource getInstance(){
        List<User> list = new ArrayList<>();
        for(int i=0;i<10;i++){
            User user = new User();
            user.setName("AA"+i);
            user.setAge(20+i);
            user.setSex("男");
            user.setAddress("address"+i);
            list.add(user);
        }
        return new CustomerBeanCollectionDataSource(list);
    }
}

  此處用到了前面定義的User,其他步驟和上面類似,就不過多講述了,具體參見 https://www.cnblogs.com/xiupan/p/13334986.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM