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

Report with subreport in subreport using JsonDataSource


isako-vadim
Go to solution Solved by isako-vadim,

Recommended Posts

I have 3 .jrxml (main report, subreport and subreport in subreport) and get data from JSON. Paths to subreports jasper files I send like parameters (first subrreport - sub_jasper_report, second subreport - sub_jasper_report2)

 

JSON

{  "Name": "",  "joints": [    {      "name": "1",      "zones": [        {          "name": "1"        },        {          "name": "2"        }      ]    },    {      "name": "2",      "zones": [        {          "name": "1"        },        {          "name": "2"        }      ]    }  ]}[/code]

 

Subreport in MAIN REPORT (I send array joints in the subreport and it works)

<dataSourceExpression><![CDATA[((net.sf.jasperreports.engine.data.JsonDataSource) $P{REPORT_DATA_SOURCE}).subDataSource("joints")]]></dataSourceExpression><subreportExpression><![CDATA[$P{sub_jasper_report}]]></subreportExpression>[/code]

In the first subreport field "name" works fine. But the first subreport has subreport too (zones) and I try to send too.

<dataSourceExpression><![CDATA[((net.sf.jasperreports.engine.data.JsonDataSource) $P{REPORT_DATA_SOURCE}).subDataSource("joints.zones")]]></dataSourceExpression><subreportExpression><![CDATA[$P{sub_jasper_report2}]]></subreportExpression>[/code]

But in the secound subreport (subreport of subreport) filed "name" doesn't work. 

 

Looks like I have to send parameters (path to .jrxl) not only in the main report, but in the first subreport too. But I don't know how.

Link to comment
Share on other sites

  • Replies 2
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

  • Solution

Oh, I just needed send parameters from master to subreport. And still use just parameters

<subreportParameter name="sub_jasper_report">    <subreportParameterExpression><![CDATA[$P{sub_jasper_report}]]></subreportParameterExpression></subreportParameter><subreportParameter name="sub_jasper_report2">    <subreportParameterExpression><![CDATA[$P{sub_jasper_report2}]]></subreportParameterExpression></subreportParameter><subreportParameter name="sub_jasper_report3">    <subreportParameterExpression><![CDATA[$P{sub_jasper_report3}]]></subreportParameterExpression></subreportParameter>[/code]

 

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