11
サブレポートなしでジャスパーレポートを生成する方法を知っています。しかし、現在、私は自分のレポートにサブレポートを持っています。私はそのサブレポートをJavaでどのようにコンパイルできますか?Javaからのサブレポートを含む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の男、私はあなたを愛し、私は本当にそれを意味、これは素晴らしいです! ;) –
それは働いていない! –