exporter arraylist vers tableau ireport
Bonjour à tous
comment je peux faire un état de sortie avec iReport:
j'ai un résultat dans ArrayList
je veux l'afficher dans un tableau dans mon rapport
mon problème je ne sais comment paramétrer mon rapport dans iReport pour ramener les données de ma list
voici mon code qui me génére le rapport
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
public String viewReportPDF() throws SQLException, JRException, IOException {
String reportId = "report2";
//Driver mDriver = new Driver();//rnull;
//Driver mDriver = new Driver();
//DriverManager.registerDriver(mDriver);
DriverManager.registerDriver (new oracle.jdbc.driver.OracleDriver());
File file = new File("C:/Rapport");
/*JasperPrint jasperPrint = JasperFillManager.fillReport(
new FileInputStream(new File(file, reportId + ".jasper")),null, con);*/
HashMap mesParametres = new HashMap();
ArrayList<Personne> persons = new ArrayList<Personne>();
Personne s1=new Personne("code1",1,"nom1","prenom1","poste1","adresse1");
Personne s1=new Personne("code2",2,"nom2","prenom2","poste2","adresse2");
persons.add(s1);
persons.add(s2);
JRBeanCollectionDataSource datasource = new JRBeanCollectionDataSource(persons);
mesParametres.put("list1", persons.get(0));
JasperPrint jasperPrint = JasperFillManager.fillReport(
//new FileInputStream(new File(file, reportId + ".jasper")),mesParametres,new JRBeanCollectionDataSource(persons));
new FileInputStream(new File(file, reportId + ".jasper")),mesParametres);
//JasperRunManager.runReportToPdfFile(new File(file, reportId + ".jasper"), new HashMap(),new JRResultSetDataSource((ResultSet) datasource));
byte[] bytes = JasperExportManager.exportReportToPdf(jasperPrint);
FacesContext context = FacesContext.getCurrentInstance();
HttpServletResponse response = (HttpServletResponse) context
.getExternalContext().getResponse();
response.addHeader("Content-disposition",
"attachment;filename=rapport.pdf");
response.setContentLength(bytes.length);
response.getOutputStream().write(bytes);
response.setContentType("application/pdf");
context.responseComplete();
return null;
} |