如何在Java应用程序中定义两个JRDataSource?

时间:2013-06-09 10:48:33

标签: java jasper-reports

我的报告中有两个条形图,必须由两个对象列表填充。我不想把查询放在我的报告中。我想从我的java应用程序中传递这两个列表。我用一个对象列表和一个条形图完成了它,但我不知道如何用两个来完成它。

是否可以在 Java 应用程序中定义两个 JRDataSource ?如果是,我如何填写报告?

    List<Employee> employee = new ArrayList<Employee>();    
    Map<String, Object> parameters = new HashMap<String, Object>();
    JRDataSource datasource = new JRBeanCollectionDataSource(employee, true);
    JasperPrint jp = JasperFillManager.fillReport(input,parameters,datasource);
    JRExporter exporter = new JRPdfExporter();
    exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME, output);
    exporter.setParameter(JRExporterParameter.JASPER_PRINT, jp);
    exporter.exportReport();

1 个答案:

答案 0 :(得分:1)

简单地创建,例如两个JRBeanCollectionDatasources并将它们作为参数传递给您的报表。然后,将参数用作图表的数据源表达式。