メイン レポートとサブレポートを含む iReport で作成したレポートを起動しようとしています。iReport では、サブレポートは正常に起動し、データが含まれていますが、Java コード内から起動しようとすると、サブレポートが空白になります。
私がこれまでに行ったこと:
サブレポートへのパスを定義するために使用される「SUBREPORT」と呼ばれるメイン レポートに文字列パラメーターがあります。例: 「E:\java\ReportLauncher\reports\test_subreport1.jasper」
メイン レポートのサブレポート式は次のように設定されます: $P{SUBREPORT}
サブレポート接続式は次のとおりです: $P{REPORT_CONNECTION}
また、メイン レポートのフィールドにマップされる $F{InviInvNo} に設定された "INVOICE_NUMBER" という名前のサブレポート パラメーターも定義しています。
私のJavaコードには、次のものがあります。
HashMap<String, Object> paramHash = new HashMap();
paramHash.put("INVOICE_NUMBER", invoiceID);
paramHash.put("REPORT_CONNECTION", this.conn);
paramHash.put("SUBREPORT", subReportPath);
JasperPrint jasperprint = JasperFillManager.fillReport(this.reportPath, paramHash, this.conn);
メイン レポートは正常に作成され、データが入力されています。ただし、サブレポート領域は空白です。私が間違っていることについて何か考えはありますか?
前もってありがとう、アンディ。