Nic*_*ick 3 jasper-reports ireport
我刚刚开始使用iReport并完成了对现有报告进行一些更改的任务.
目前有一份主要报告,其中包含A和B部分(联系方式和其他信息).有一个子报告C,然后是一个子报告D.我的任务是为D中的每个项目复制A和B.如果报告有很多D部分我想要每个都有一个A和B.
所有数据都在同一个XML文档中,并且可以简单地获取A部分和BI部分的数据
((net.sf.jasperreports.engine.data.JRXmlDataSource)$F{REPORT_DATA_SOURCE}).dataSource("/Header/")
Run Code Online (Sandbox Code Playgroud)
和D部分的子报告
((net.sf.jasperreports.engine.data.JRXmlDataSource)$P{REPORT_DATA_SOURCE}).subDataSource("/Header/ProductHeader/Member")
Run Code Online (Sandbox Code Playgroud)
如果我将文档结构中的一个字段从A部分显示到部分D并检查表达式,它表示$ F {ContactNumber},但在D中显示Null,即使它在A部分显示一个值
如何修改数据源以在D中显示A和B的内容?
提前致谢
您需要将参数传递给子报告.除非您明确定义合同,否则子报告不会共享主报告中的任何数据.它更像是方法调用,然后是主报告的延续.
如果要foo
在子报告的主报告中显示带有名称的字段,则需要执行以下操作:
foo
.foo
和正确值表达式的参数.如果要foo
在子报表中使用值,则应使用表达式:$P{foo}
if它是主报表参数.
归档时间: |
|
查看次数: |
17166 次 |
最近记录: |