Pra*_*nth 5 hibernate jasper-reports subreport
我有一个Hibernate POJO与1.an与一个对象的一对一关联2.与另一个对象的一对多关联(集合)
我正在尝试创建一个Jasper报告,这些关联将转到子报告.对于多对一关联,我传递的数据源如下:
<subreport>
<reportElement x="40" y="16" width="100" height="30"/>
<dataSourceExpression>
<![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{phones})]]>
</dataSourceExpression>
<subreportExpression>
<![CDATA[$P{SUBREPORT_DIR} + "subreport1.jasper"]]>
</subreportExpression>
</subreport>
Run Code Online (Sandbox Code Playgroud)
这很好用.这是我为一对一关联定义它的方式
<subreport>
<reportElement x="25" y="91" width="200" height="59"/>
<dataSourceExpression>
<![CDATA[new net.sf.jasperreports.engine.data.JRBeanArrayDataSource([$F{batchHeaderRecord}] as java.lang.Object[])]]>
</dataSourceExpression>
<subreportExpression><![CDATA[$P{SUBREPORT_DIR} + "batchHeaderReport.jasper"]]>
</subreportExpression>
</subreport>
Run Code Online (Sandbox Code Playgroud)
但是这个没有用.有人可以让我知道我哪里出错吗?
new net.sf.jasperreports.engine.data.JRBeanArrayDataSource([$F{batchHeaderRecord}] as java.lang.Object[])
Run Code Online (Sandbox Code Playgroud)
是无效的Java代码.只是用
new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource(java.util.Collections.singleton($F{batchHeaderRecord}))
Run Code Online (Sandbox Code Playgroud)
要么
new net.sf.jasperreports.engine.data.JRBeanArrayDataSource(new Object[] {$F{batchHeaderRecord}})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2327 次 |
| 最近记录: |