1

在这里,我试图将我的 Java 程序中的数据源提供给 jasper 文件。

这是我的代码:

InputStream reportStream = new FileInputStream("C:/Documents and Settings/report2.jrxml");
JRDataSource datasource = new JRBeanCollectionDataSource(allEnergy_Caliberation, true);

JasperReport report = JasperCompileManager.compileReport(reportStream);

System.out.println("above error");
JasperPrint print = JasperFillManager.fillReport(report, parameters, datasource);

我需要在报告中传递数据源并想打印它的值。
同样,在摘要部分的同一个 jrxml 文件中,我添加了子报表,我还需要为此子报表提供值。

请通过提供步骤帮助我。

4

1 回答 1

2

终于我做到了。。

实际上数据源没有进入子报表..所以我改变了当没有数据到所有部分时的属性,没有数据......

然后我传递了我已经获取子报表记录的集合变量......通过使用parameters.put("shape_data_all",allShape_Caliberation);

然后我在主报告中创建了一个参数..并将其类更改为java.Util.Collection..

然后在子报表属性中,connection type= Use a datasource expression

Data Source Expression new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($P{shape_data_all})

然后在子报告中添加与我在 bean 属性中相同的字段..

于 2012-07-18T09:37:49.613 回答