コレクションのデータをレポートに印刷

1470 ワード

Ireport作成テンプレート:
まず、Ireportレポートに含まれるデータとそのタイプを教えてください.
 
package com.yohn.other;

import java.util.ArrayList;

import java.util.Date;

import java.util.List;

import net.sf.jasperreports.engine.JRDataSource;

import net.sf.jasperreports.engine.JRException;

import net.sf.jasperreports.engine.JasperReport;

import net.sf.jasperreports.engine.data.JRAbstractBeanDataSourceProvider;

import net.sf.jasperreports.engine.data.JRBeanArrayDataSource;

import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;

import com.accp.pojos.Dep;

import com.accp.pojos.Users;

//  , ireport 
public class MyDataSourcePrivoder extends  JRAbstractBeanDataSourceProvider {
 // 
  public MyDataSourcePrivoder() {

         super(Users.class);// 

    }   

    // 

    public JRDataSource create(JasperReport jr) 

        throws JRException {

        List<Users> ls=new ArrayList();

        for(int i=0;i<5;i++){

            Users us=new Users();

            us.setBirthday(new Date());

            us.setDep(new Dep());

            us.setId(i);

            us.setPwd("abcd");

            us.setSex(1);

            us.setUsername("accp"+i);

            ls.add(us);

        }

        return new JRBeanCollectionDataSource(ls);

    }

    public void dispose(JRDataSource arg0) throws JRException {

    }

}

 

 
クラスをコンパイルし、MyDataSourcePrivoderクラスと関連クラス(Users,Dep)をireportの中間に配置します.