【发布时间】:2015-12-19 20:43:09
【问题描述】:
我想将 JRBeancollection 数据源传递给主报表,并从主报表传递给子报表。我已将此子报表包含在主报表的摘要部分中。 请提及我想在 ireport 中执行的步骤,包括如何设置 inbuld 参数。
【问题讨论】:
我想将 JRBeancollection 数据源传递给主报表,并从主报表传递给子报表。我已将此子报表包含在主报表的摘要部分中。 请提及我想在 ireport 中执行的步骤,包括如何设置 inbuld 参数。
【问题讨论】:
我终于做到了。
实际上数据源并没有进入子报表。所以我把when no data 的属性改成了所有section,no data...
然后我传递了我已获取子报表记录的集合变量。
通过使用parameters.put("shape_data_all", allShape_Caliberation);
然后我在主报告中创建了一个参数。并将其类更改为java.Util.Collection。
然后在子报表属性中,connection type= 使用数据源表达式
数据源表达式new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($P{shape_data_all})
然后在子报表中添加与我拥有 bean 属性相同的字段。
谢谢。
【讨论】:
我不确定,但试试这个:
<subreport>
<reportElement x="261" y="25" width="200" height="100"/>
<dataSourceExpression><![CDATA[$P{REPORT_DATA_SOURCE}]]></dataSourceExpression>
<subreportExpression><![CDATA[$P{SUBREPORT_DIR} + "subreport.jasper"]]></subreportExpression>
</subreport>
当然,您必须像在报告中那样使用“subreportExpression”,这只是一个示例,对您的问题有用的行是放置“dataSourceExpression”的位置。
【讨论】: