объявлен параметр с типом класса java.lang.String
, затем он передается subreportExpression
.
<parameter name="SUB_REPORT_FILE" class="java.lang.String"/>
<subreportExpression><![CDATA[$P{SUB_REPORT_FILE}]]></subreportExpression>
во время выполнения вами следует передать имя файла подотчета в параметр SUB_REPORT_FILE
в приложении java, как указано ниже,
HashMap<String, Object> parameterMap = new HashMap<String, Object>();
parameterMap.put("SUB_REPORT_FILE", "Your Sub Report File Path/ItemsDetail.jasper");
JasperPrint jasperPrint = JasperFillManager.fillReport("Your Master Report File Path/Invoice.jasper", parameterMap, YOUR_JRBeanCollectionDataSource); // master report name is a Invoice
или, передать параметр SUB_REPORT_FILE
с именем файла подотчета в subreportExpression
и установить подпункт путь к файлу отчета только во время выполнения
в основном отчете (Invoice.jr xml),
<subreportExpression><![CDATA[$P{SUB_REPORT_FILE}+"/ItemsDetail.jasper"]]></subreportExpression>
в java приложении,
HashMap<String, Object> parameterMap = new HashMap<String, Object>();
parameterMap.put("SUB_REPORT_FILE", "Your Sub Report File Path"); // pass the sub report file path only
JasperPrint jasperPrint = JasperFillManager.fillReport("Your Master
Report File Path/Invoice.jasper", parameterMap, YOUR_JRBeanCollectionDataSource);