11
我知道如何在沒有任何子報表的情況下生成jasper報表。但目前我在報告中有一個子報表,我想知道如何在java中編譯該子報表?使用java的子報表生成Jasper報告
我知道如何在沒有任何子報表的情況下生成jasper報表。但目前我在報告中有一個子報表,我想知道如何在java中編譯該子報表?使用java的子報表生成Jasper報告
例如,您可以像簡單報告一樣編譯子報告 - 例如,在JasperCompileManager.compileReport(java.lang.String sourceFileName)方法的幫助下。
之後,您可以將已編譯的子報表作爲參數傳遞給主報表。
樣本:
JasperReport jasperMasterReport = JasperCompileManager.compileReport(masterReportSource);
JasperReport jasperSubReport = JasperCompileManager.compileReport(subReportSource);
Map<String, Object> parameters = new HashMap()<String, Object>;
parameters.put("subreportParameter", jasperSubReport);
JasperFillManager.fillReportToFile(jasperMasterReport, parameters, connection);
從主報告的JRXML文件(樣本)的片段:
<parameter name="subreportParameter" class="net.sf.jasperreports.engine.JasperReport"/>
...
<detail>
<band height="50">
...
<subreport>
<reportElement isPrintRepeatedValues="false" x="5" y="25" width="325" height="20" isRemoveLineWhenBlank="true" backcolor="#ffcc99"/>
<subreportParameter name="City">
<subreportParameterExpression><![CDATA[$F{City}]]></subreportParameterExpression>
</subreportParameter>
<connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression>
<returnValue subreportVariable="PriceSum" toVariable="ProductTotalPrice" calculation="Sum"/>
<subreportExpression class="net.sf.jasperreports.engine.JasperReport"><![CDATA[$P{subreportParameter}]]></subreportExpression>
</subreport>
@Alex_K的男人,我愛你,我真的是它,這是偉大的! ;) – 2013-01-22 20:04:27
它不工作! – 2013-05-10 09:11:05