اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

مرحبًا محمد،

في البداية، يجب عليك عمل Compile للـ subreport حتى يصبح كتقرير بسيط، تستطيع استخدام هذه الطريقة:

http://jasperreports.sourceforge.net/api/net/sf/jasperreports/engine/JasperCompileManager.html#compileReport(java.lang.String)

بعد ذلك، تستطيع تمرير الـ subreport بعدما تمت عملية الـ Compilation إلى الـ master report، كمثال:

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, outputFileName, 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>

 

هذه اسهل طريقة وتعتبر بدائية كذلك. إذا اردت، هناك طرق احدث توفّر امكانيات وخصائص اكثر تستطيع الإطلاع على احداها هنا:

http://jasperreports.sourceforge.net/api/net/sf/jasperreports/export/Exporter.html

 

أتمنى لك التوفيق

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...