我有一个jasper报告,其中有一个详细的表格,我有一个有2个字段和geters和seters的类。如何用java bean填充表格?
我的代码
public class Table {
private String gigo;
private String bibe;
public Table() {
}
public Table(String gigo, String bibe) {
this.gigo = gigo;
this.bibe = bibe;
}
public String getBibe() {
return bibe;
}
public String getGigo() {
return gigo;
}
public void setBibe(String bibe) {
this.bibe = bibe;
}
public void setGigo(String gigo) {
this.gigo = gigo;
}
}
制表师
public class TableMaker {
public ArrayList<Table> setTableBeanList() {
ArrayList<Table> dataBeanList = new ArrayList<>();
dataBeanList.add(produce("test1", "test2"));
return dataBeanList;
}
private Table produce(String name, String occupation) {
Table TableBean = new Table();
TableBean.setBibe(name);
TableBean.setGigo(occupation);
return TableBean;
}
}
报告:
InputStream inputStream=Reporter.class.getClassLoader().getResourceAsStream("report2.jasper");
TableMaker test = new TableMaker();
ArrayList<Table> tablelist = test.setTableBeanList();
JRBeanCollectionDataSource beanColDataSource = new JRBeanCollectionDataSource(tablelist);
Map parameters = new HashMap();
JasperReport jasperReport = (JasperReport) JRLoader.loadObject(inputStream);
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters,beanColDataSource);
JasperExportManager.exportReportToPdfFile(jasperPrint, "D://timer2.pdf");
在表格中我得到null,为什么?如何正确填写表格?
提前谢谢。
答案 0 :(得分:-1)
一旦你的Java Bean工作,你需要在Jasper报告中手动添加你的变量。完成后,只需拖动就可以将这些Java Bean getter作为变量与其他数据源变量一起使用他们在OUTLINE WINDOW的报告中。
另外,您还可以使用表向导创建自定义表,并且可以访问所有这些变量。