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

Sub Reports with XML data


srins.9

Recommended Posts

I'm unable to pass data from main report to subreport with XML as data. The approach I'm taking is have a MainReport with two sub reports in it SubReport1 and SubReport2. XPath for SubReport1 is /main-report/sub-report1/items/item similarly XPath for SubReport2 is /main-report/sub-report2/items/item. Below is sample xml

<main-report>
    <sub-report1>
        <header></header>
        <items>
            <item></item>
            <item></item>
            <item></item>
            <item></item>
            <item></item>
            <item></item>
            <item></item>
        </items>
        <footer></footer>        
    </sub-report1>
    <sub-report2>
        <header></header>
        <items>
            <item></item>
            <item></item>
            <item></item>
            <item></item>
            <item></item>
            <item></item>
            <item></item>
        </items>
        <footer></footer>        
    </sub-report2>
</main-report>

Link to comment
Share on other sites

  • 3 weeks later...

Finally, was able to solve problem. With above XML as Datasource.

Main Report

Step 1:  Have xPath as /main-report

    <queryString language="xPath">
        <![CDATA[/main-report]]>
    </queryString>

Step 2: Data Source Expression for sub report 1 

((net.sf.jasperreports.engine.data.JRXmlDataSource)$P{REPORT_DATA_SOURCE}).subDataSource("//main-report/sub-report1/line-items/line-item"

Step 3: Data Source Expression for Sub Report 2

((net.sf.jasperreports.engine.data.JRXmlDataSource)$P{REPORT_DATA_SOURCE}).subDataSource("//main-report/sub-report2/line-items/line-item")

Sub Report 1

<queryString language="xPath">
        <![CDATA[/main-report/sub-report1/line-items/line-item]]>
    </queryString>

Sub Report 2

    <queryString language="xPath">
        <![CDATA[/main-report/sub-report2/line-items/line-item]]>
    </queryString>

  • Like 1
Link to comment
Share on other sites

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...