I have a list of Employee in my java application.
List
Instead of passing the SQL query (select * from employee) to iReport, I want to pass my list.
Map map = new HashMap();
map.put("queryReport","select * from EMPLOYEE");
JasperPrint jp = JasperFillManager.fillReport(input,map,connection);
JRExporter exporter = new JRPdfExporter();
exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, output);
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jp);
exporter.exportReport();
It would be great if someone can help me with the code which I have to use.
1 Answer:
don't understand exactly what you're trying to do... if you want to pass an object collection to your report, you will have to design a bean class first, like:
then fill your list with the bean objects:
List employee = new ArrayList();
employee.add(new MyEmployeeBean(...constructor needed...)
finally create a bean datasource and pass it to the report, e.g.:
JasperPrint jp = JasperFillManager.fillReport(..., ..., new JRBeanArrayDataSource(employee));
have a look here:
http://jasperreports.sourceforge.net/sample.reference/datasource/
Cheers, Thomas
Thanks Thomas. It helped me a lot.