gpt4 book ai didi

jasper-reports - 将值从主报告传递到子报告?

转载 作者:行者123 更新时间:2023-12-01 23:08:55 25 4
gpt4 key购买 nike

我刚开始使用 iReport,并得到了对现有报告进行一些更改的任务。

目前有一个包含 A 部分和 B 部分的主要报告(联系方式和一些其他信息)。有一个子报表 C,然后是一个子报表 D。我的任务是为 D 中的每个项目复制 A 和 B。如果报表有许多 D 部分,我希望每个部分都有一个 A 和 B。

所有数据都在同一个 XML 文档中,要获取 A 节和 B 节的数据,我只需

((net.sf.jasperreports.engine.data.JRXmlDataSource)$F{REPORT_DATA_SOURCE}).dataSource("/Header/")

对于带有 D 部分的子报告

((net.sf.jasperreports.engine.data.JRXmlDataSource)$P{REPORT_DATA_SOURCE}).subDataSource("/Header/ProductHeader/Member")

如果我从文档结构中将显示 A 节中数据的字段拖到 D 节并检查它所说的表达式$F{ContactNumber} 但在 D 中显示 Null,即使它在 A 部分显示值

我需要如何修改我的数据源以在 D 中显示 A 和 B 的内容?

提前致谢

最佳答案

您需要将参数传递给您的子报表。除非您明确定义契约(Contract),否则子报告不会共享主报告中的任何数据。它更像是一个方法调用,然后是主报告的延续。

如果您想在子报告的主报告中显示名称为 foo 的字段,您需要执行以下操作:

  1. 在您的子报告中创建一个名为 foo 的参数。
  2. 在主报告中创建子报告元素。
  3. 在子报表元素的Properties中,有一个名为“Parameters”的属性。打开对话框并添加一个名为 foo 的参数和正确的值表达式。

当您想在子报告中使用 foo 的值时,您应该使用表达式:$P{foo} 如果它是主报告参数。

关于jasper-reports - 将值从主报告传递到子报告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5074371/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com