1

在 java 中生成 jasper 报告时我遇到了一些问题。该设置在 iReport IDE 中完美运行。我创建报告的方式如下:

private void createReport(String dataSourceXml) throws JRException{

        String outFilename = dataSourceXml.replace(".xml", ".pdf");
        String main = res.getString("main_jrxml.dir");
        String sub1 = res.getString("sub1_jrxml.dir");
        String sub2 = res.getString("sub2_jrxml.dir");
        String sub3 = res.getString("sub3_jrxml.dir");


        JasperReport sub3Report = JasperCompileManager.compileReport(sub3);
        JasperReport sub2Report = JasperCompileManager.compileReport(sub2);
        JasperReport sub1Report = JasperCompileManager.compileReport(sub1);
        JasperReport mainReport = JasperCompileManager.compileReport(main);

        JRXmlDataSource xmlDatasource = new JRXmlDataSource(new File(dataSourceXml));

        Map<String, Object> params = new HashMap<String, Object>();

        params.put("sub1", sub1);
        params.put("sub2", sub2);
        params.put("sub3", sub3);


        JasperPrint jasperPrint = JasperFillManager.fillReport(mainReport, params, xmlDatasource);
        JasperExportManager.exportReportToPdfFile(jasperPrint, outFilename);
    }

报告已创建,所有子报告都已填写,但主报告未填写。

任何人都可以建议可能是什么问题?

4

1 回答 1

1

我无法弄清楚为什么主报告中的字段没有被填写。我通过简单地添加另一个子报表来解决它,这对我来说很好。

可惜 Jasper 的文档太可怕了。

于 2013-01-31T10:22:37.393 回答