Jasper reports 具有自己查询的子报表呈现为空(仅显示标题)
我试图用一个子报表执行一个报表,它只填充主报表。我以Java语言生成报告,并用以下内容填充报告:Jasper reports 具有自己查询的子报表呈现为空(仅显示标题),jasper-reports,subreport,Jasper Reports,Subreport,我试图用一个子报表执行一个报表,它只填充主报表。我以Java语言生成报告,并用以下内容填充报告: JasperFillManager.fillReport(report, paramsMap, DataSourceUtils.getConnection(SingletonSpring.getDataSource())) 生成的jrxml报告如下所示: .... <parameter name="Subreport0" class="net.sf.jasperreports.en
JasperFillManager.fillReport(report, paramsMap, DataSourceUtils.getConnection(SingletonSpring.getDataSource()))
生成的jrxml报告如下所示:
....
<parameter name="Subreport0" class="net.sf.jasperreports.engine.JasperReport"/>
....
<queryString>
<![CDATA[...]]]>
</queryString>
....
<band>
<frame>
<reportElement x="0" y="0" width="960" height="0" uuid="d6549c83-20a3-45b6-bd5e-0f2a545b9aec"/>
<subreport>
<reportElement x="0" y="0" width="960" height="0" uuid="5c65dc87-4ff9-4126-ade6-0bf7e76cce5c"/>
...[some parameters]...
<dataSourceExpression><![CDATA[$P{REPORT_DATA_SOURCE}]]></dataSourceExpression>
<subreportExpression><![CDATA[$P{Subreport0}]]></subreportExpression>
</subreport>
</frame>
</band>
。。。。
....
....
…[某些参数]。。。
在子报告0
参数中,我传递生成的子报告。在子报表中有一个不同的“一”查询
当我执行此操作时,生成的pdf填充主报表数据,而不是子报表数据,只填充标题。因为子报表有自己的数据集(您编写它是基于查询的),所以不需要传递父数据源 通过连接后,问题很可能会得到解决。在
$P{report\u connection}
参数和connectionExpression
属性的帮助下,尝试传递父报表的连接(当然,如果两个报表使用相同的数据库,则是这样),而不是使用dataSourceExpression
属性传递数据源
子报表元素如下所示:
<subreport>
<reportElement x="0" y="0" width="960" height="0"/>
...[some parameters]...
<connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression>
<subreportExpression><![CDATA[$P{Subreport0}]]></subreportExpression>
</subreport>
…[某些参数]。。。
您应该使用子报表0
参数初始化并通过参数传递代码段您是否尝试将连接(而不是数据源表达式
)传递到子报表?不,我不尝试。我要试试完美!现在它开始工作了!非常感谢。不客气:)