jasper-reports
सबरपोर्ट का उपयोग करना
खोज…
पैरामीटर
| पैरामीटर | विवरण |
|---|---|
| parametersMapExpression | मापदंडों के साथ नक्शा। की जरूरत नहीं है |
| subreportParameter | नाम और मूल्य की जोड़ी ( सबरपोर्टपैरमीटर एक्सप्रेशन के साथ सेट)। आवश्यकता नहीं है । सबरपोर्ट के लिए कई मापदंडों को पारित किया जा सकता है |
| connectionExpression | डेटा प्राप्त करने के लिए कनेक्शन। की जरूरत नहीं है |
| dataSourceExpression | डेटासोर्स पास करने के लिए अभिव्यक्ति। की जरूरत नहीं है |
| subreportExpression | सब्रेपोर्ट का पथ / यूआरआई या यहां तक कि जैस्पररपोर्ट ऑब्जेक्ट। की जरूरत नहीं है |
| प्रतिलाभ की मात्रा | नाम और मूल्य की जोड़ी। आवश्यकता नहीं है । सब -पोर्ट से मास्टर रिपोर्ट वापस करने के लिए कई मान वापस किए जा सकते हैं |
टिप्पणियों
जटिल रिपोर्ट के निर्माण के लिए सबरपोर्ट का उपयोग किया जा सकता है। मौजूदा रिपोर्टों का पुन: उपयोग सबप्रोर्ट्स का उपयोग करने का एक और लक्ष्य है।
सबरपोर्ट को
<subreport>तत्व के उपयोग के मामले में मास्टर रिपोर्ट के एक भाग के रूप में दिखाया जाएगा।सबस्पोर्टएक्सप्रेशन पैरामीटर का मान जैस्पररीपोर्ट्स सर्वर पर या सिर्फ जैस्पररीपोर्ट्स फ्रेमवर्क (कुछ एपीआई का उपयोग करके या आईडीई में उपयोग करने के लिए) के लिए भिन्न होता है।
JasperReports सर्वर के लिए यह ऐसा दिखता है:
<subreportExpression><![CDATA["repo:subreport.jrxml"]]></subreportExpression>सिर्फ JasperReports इंजन द्वारा उपयोग करने के लिए:
<subreportExpression><![CDATA["/somePath/subreport.jasper"]]></subreportExpression>@AndreasDietrich द्वारा महान विवरण में पाया जा सकता JasperServer: subreport अपवाद पता लगाने में असमर्थ पोस्ट
कुछ कारणों से सबरपोर्ट का उपयोग एक सामान्य रिपोर्ट के रूप में किया जा सकता है - बिना मास्टर रिपोर्ट (
<subreport>तत्व की सहायता से) को कॉल किए बिना। सबरपोर्ट हमेशा एक रिपोर्ट होती है।
सबरपोर्ट के लिए कनेक्शन पास करना; मास्टर रिपोर्ट पर वापस मान लौटाएं
यह मास्टर रिपोर्ट का एक स्निपेट है। दो पैरामीटर और कनेक्शन (उदाहरण के लिए, jdbc ) सबरपोर्ट पर जा रहे हैं। एक मान सबरपोर्ट से मास्टर रिपोर्ट पर वापस आ जाता है, इस मूल्य ( चर ) का उपयोग मास्टर रिपोर्ट में किया जा सकता है
<subreport>
<reportElement x="0" y="80" width="200" height="100"/>
<subreportParameter name="someSubreportParameter">
<subreportParameterExpression><![CDATA[$P{someMasterReportParamter}]]></subreportParameterExpression>
</subreportParameter>
<subreportParameter name="anotherSubreportParameter">
<subreportParameterExpression><![CDATA["Some text - constant value"]]></subreportParameterExpression>
</subreportParameter>
<connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression>
<returnValue subreportVariable="someVariableInSubreport" toVariable="someVariableInMasterReport"/>
<subreportExpression><![CDATA["$P{SUBREPORT_DIR} + "subreport.jasper"]]></subreportExpression>
</subreport>
सबरपोर्ट में डेट्रॉउस पास करना
यह मास्टर रिपोर्ट का एक स्निपेट है। Datasource net.sf.jasperreports.engine.data.JRBeanCollectionDataSource कंस्ट्रक्टर की सहायता से सबरपोर्ट पर जाता है
<field name="someFieldWithList" class="java.util.List"/>
<!-- ...... -->
<subreport>
<reportElement x="0" y="0" width="200" height="70"/>
<parametersMapExpression><![CDATA[$P{REPORT_PARAMETERS_MAP}]]></parametersMapExpression>
<dataSourceExpression><![CDATA[net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{someFieldWithList})]]></dataSourceExpression>
<subreportExpression><![CDATA[$P{SUBREPORT_DIR} + "subreport.jasper"]]></subreportExpression>
</subreport>