小编典典
这是工作示例。
该样本的关键点:
使用的_THIS表达;
使用列表(JR:列表) 在组分详细频带
用于生成报告的代码段:
public static void testBuildPdf() {
try {
Map params = new HashMap();
JasperReport jasperReport = JasperCompileManager.compileReport(reportSource);
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, params, getDataSource());
JasperExportManager.exportReportToPdfFile(jasperPrint, outputFileName);
} catch (Exception e) {
e.printStackTrace();
}
}
private static JRDataSource getDataSource() {
Collection coll = new ArrayList();
coll.add(new BeanWithList(Arrays.asList("London", "Paris"), 1));
coll.add(new BeanWithList(Arrays.asList("London", "Madrid", "Moscow"), 2));
coll.add(new BeanWithList(Arrays.asList("Rome"), 3));
return new JRBeanCollectionDataSource(coll);
}
JavaBean代码:
public class BeanWithList {
// The member's name can be any. The JR engine is using public getter for extracting field's value
private List cities;
private Integer id;
public BeanWithList(List cities, Integer id) {
this.cities = cities;
this.id = id;
}
// getter should be public
public List getCities() {
return this.cities;
}
public Integer getId() {
return this.id;
}
}
jrxml文件:
2020-03-03