2012-03-20 5 views
11

से सब्रेपोर्ट के साथ जैस्पर रिपोर्ट जेनरेट करें मुझे पता है कि किसी भी सबरेपोर्ट के बिना जेस्पर रिपोर्ट कैसे उत्पन्न करें। लेकिन वर्तमान में मेरे पास मेरी रिपोर्ट में एक सब्रेपोर्ट है और मैं जानना चाहता हूं कि मैं जावा में उस सबरेपोर्ट को कैसे संकलित कर सकता हूं?जावा

उत्तर

27

उदाहरण के लिए 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> 
+3

@Alex_K आदमी, मैं तुमसे प्यार करता, मैं वास्तव में यह मतलब है, यह बहुत अच्छा है! ;) –

+1

यह काम नहीं कर रहा है !! –

+0

क्या मैं एक्स, वाई, चौड़ाई, ऊंचाई गतिशील मान कर सकता हूं? – user1791574