如何使用Jasper加载子报表资源?
使用Jasper,我可以使用资源来加载报告。因此,要加载主报告,我使用类似以下内容的内容:
InputStream is = getClass().getResourceAsStream("/resources/report1.jrxml");design = JRXmlLoader.load(is);
但是,如果report1.jrxml中有一个子报表,怎么说在 /resources/sub.jrxml中 呢?
回答:
我这样做是这样的:
jasperDesign = JRXmlLoader.load(rootpath + "/WEB-INF/templates/Report.jrxml");jasperDesignSR = JRXmlLoader.load(rootpath + "/WEB-INF/templates/SubReport.jrxml");
JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
JasperReport jasperReportSR = JasperCompileManager.compileReport(jasperDesignSR);
parameters.put("SubReportParam", jasperReportSR);
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, dataSource);
“ SubReportParam”将是“ JasperReport”类型的参数,作为您报表中的SubreportExpression。
在.jrxml中:
<parameter name="SubReportParam" class="net.sf.jasperreports.engine.JasperReport" isForPrompting="false"/>
我不知道您是否在报表设计中使用IReport。右键单击子报表,您应该找到SubreportExpression。参数是我传递给“
fillReport”的地图
祝好运。
以上是 如何使用Jasper加载子报表资源? 的全部内容, 来源链接: utcz.com/qa/403611.html