So come generare report jasper senza alcun sottoreport. Ma attualmente ho un sottoreport nella mia relazione e mi piacerebbe sapere come posso compilare quel sottoreport in java?Genera report Jasper con sottoreport da java
11
A
risposta
27
È possibile compilare il sottoreport come il report semplice, ad esempio con il metodo JasperCompileManager.compileReport(java.lang.String sourceFileName).
Successivamente è possibile passare il sottoreport compilato come parametro al report principale.
Il campione:
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);
Il frammento dal file jrxml del rapporto padrone (campione):
<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 uomo, io ti amo, dico sul serio, questo è grande! ;) –
non funziona !! –