主要报告未填写,但子报告是

时间:2013-01-30 16:17:30

标签: java jasper-reports

在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);
    }

创建报告并填写所有子报告但不填写主报告。

有人可以建议可能出现的问题吗?

1 个答案:

答案 0 :(得分:1)

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

可惜Jasper的文档非常糟糕。