1

Javaでjasperレポートを生成するときに、少し問題が発生します。セットアップはiReportIDEで完全に機能します。レポートを作成する方法は次のとおりです。

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 に答える