Jump to content
We've recently updated our Privacy Statement, available here ×

Problem with nested report


nusa

Recommended Posts

Hi everyone,

 

I have a nested subreport that I can't display it.

I have a master report (MR), a subreport (SR), and a nested subreport inside that SR (NSR).

I tried the following code :

Code:

-- in the MR
<parameter name="SR" isForPrompting="false" class="net.sf.jasperreports.engine.JasperReport"/>
...
<subreport isUsingCache="true">
<reportElement .../>
<subreportParameter name="XML_DATA_DOCUMENT">
<subreportParameterExpression><![CDATA[$P{XML_DATA_DOCUMENT}]]></subreportParameterExpression>
</subreportParameter>
<!-- Embedded load the NSR ??? -->
<subreportParameter name="NSR">
<subreportParameterExpression>
net.sf.jasperreports.engine.util.JRLoader.loadObject(getClass().getClassLoader().getResourceAsStream("WEB-INF/jasper/NSR.jasper"«»))
</subreportParameterExpression>
</subreportParameter>
<subreportExpression class="net.sf.jasperreports.engine.JasperReport"><![CDATA[$P{SR}]]>
</subreportExpression>
</subreport>
...

-- in the SR
<parameter name="NSR" isForPrompting="false" class="net.sf.jasperreports.engine.JasperReport"/>
...
<subreport isUsingCache="true">
<reportElement .../>
<subreportParameter name="XML_DATA_DOCUMENT">
<subreportParameterExpression><![CDATA[$P{XML_DATA_DOCUMENT}]]></subreportParameterExpression>
</subreportParameter>
<dataSourceExpression><![CDATA[((net.sf.jasperreports.engine.data.JRXmlDataSource)$P{REPORT_DATA_SOURCE}).dataSource("/root_element/..."«»)]]>
</dataSourceExpression>
<subreportExpression class="net.sf.jasperreports.engine.JasperReport"><![CDATA[$P{NSR}]]>
</subreportExpression>
</subreport>
...

-- the Java code
...
Map param = new HashMap();
param.put(JRXPathQueryExecuterFactory.PARAMETER_XML_DATA_DOCUMENT, doc);

String subReport;

subReport = request.getSession().getServletContext().getRealPath("WEB-INF/jasper/SR.jasper"«»);
System.out.println("===> Load subreport " + subReport);
JasperReport bankReport = (JasperReport)JRLoader.loadObject(subReport);
param.put("SR", bankReport);

System.out.println("===> Fill the report "«»);
String reportFilename = request.getSession().getServletContext().getRealPath("WEB-INF/jasper/MR.jasper"«»);
JasperPrint reportPrint = JasperFillManager.fillReport(reportFilename, param);

System.out.println("===> Export to PDF"«»);
String finalfilename = "test.pdf";
JasperExportManager.exportReportToPdfFile(reportPrint ,finalfilename);
...

 

The above code does not display the SR nor the NSR.

Anybody knows what's wrong with the above code ( both jrxml and java )?

 

Thanks for any help/suggestion.

Link to comment
Share on other sites

  • Replies 2
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...