List of Java jasper reports as a data source

I want to create a list object as a data source, can you tell me about the .jrxml file, how can I create my report?

 public class TestReport { public void runReport(String fileName, String outFileName) { try { List<R> list = new ArrayList<R>(5); Map parameters = new HashMap(); list.add(new R("a1" ,"a2")); list.add(new R("b1" ,"b2")); list.add(new R("c1" ,"c2")); /*parameters.put("my_name", "faisal khan"); parameters.put("my_addr", "address comes here");*/ JasperPrint print = JasperFillManager.fillReport( fileName, parameters, new JREmptyDataSource()); JRExporter exporter = new JRPdfExporter(); exporter.setParameter( JRExporterParameter.OUTPUT_FILE_NAME,outFileName); exporter.setParameter( JRExporterParameter.JASPER_PRINT, print); JasperExportManager.exportReportToPdfFile(print, outFileName); print = null; exporter = null; } catch (Exception e) { e.printStackTrace(); } } private class R{ private String name; private String addr; public R(String name, String addr) { super(); this.name = name; this.addr = addr; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAddr() { return addr; } public void setAddr(String addr) { this.addr = addr; } } public static void main(String args[]){ new TestReport().runReport("/home/faisalloe/ireports/report1.jasper", "/home/faisalloe/ireports/report1.pdf"); } } 
+4
source share
1 answer

Use JasperDatasource for collections: net.sf.jasperreports.engine.data.JRBeanCollectionDataSource

 JasperPrint print = JasperFillManager.fillReport( fileName, parameters, new JRBeanCollectionDataSource(list)); 

Your report will be repeated once for each item. Or you can define a subreport depending on the main report, which should be repeated once for a list item.

+7
source

All Articles