当前位置: 首页 > 知识库问答 >
问题:

在导出主报表期间,为每一行传递子报表jrdatasource

羊渝
2023-03-14

我必须为主报表中的每一行打印一个子报表,但问题是,只有当我返回主报表中某一列的字段值时,我才得到子报表的数据(< code>Subreport取决于每行中该字段值的返回值)。

我知道jasper报告不支持字段值中的典型数据类型(< code>$F{abc}只能保存有限的数据类型,如字符串、数字等),如< code >数组 、< code >列表 、< code >集合或< code>JRDataSource。

参数支持这些复杂的数据类型,但参数值应在JasperFillManager.fillreport()函数期间传递给主报表,此时我没有子报表的数据源。

在导出主报告期间,有什么方法可以将我的 JRDataSource 传递到子报告?

是可能还是不可能?如果是,那怎么做?

共有1个答案

那弘
2023-03-14

在报表设计器中,单击子报表并设置数据源表达式

new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{List<YourObjectObject>})

在主报表中,您可以创建List

 类似资料:
  • 我将页码信息从主报表传递到页脚子报表。在主报表中,我已经声明了子报表参数pageTot和pageNum。它们通过向导映射到主报告$V{PAGE _ COUNT}和$V{PAGE _ NUMBER}中的参数。在子报表中,我声明了两个参数pageNum和pageTot。在它们的参数属性中,我取消了将use作为提示,并将它们都设置为java.lang.integer类型。然后,我替换了文本字段的文本字段

  • 这真的快把我逼疯了。我到处看,但还是不明白为什么我的不起作用 我有一个主报表(一个只返回一行的虚拟查询)和两个子报表(每个子报表都有自己的头),它们位于两个不同的详细信息带中。第二个子报表拆分为多个excel表! 添加了Line元素并设置属性表达式:name=“net.sf.jasperreports.export.xls.break.after.row”和Default value=“true”

  • 目前,我正在使用JasperReports和DynamicJasper构建我的报告并打印它们。当我只使用单个jasper-files或jrxml-files时,所有的工作都很好。我还有一段代码,如果需要合并报表,它可以将所有JasperPrint-files合并为一个。然而,这并不是最理想的... 我可以使用一个.jasper或.jrxml文件作为主报表(它有一个页眉、一个页脚和n个空的详细信息带

  • 我已经创建了表的结构,在第2页中,源数据是一个JSON,包含产品及其属性列表。我想将JSON数据显示到表中,实际上有一个包含表的子报表,但不知道如何将JSON数据传递到子报表,并根据JSON数据中的productList键进行填充。报告从接收用户数据的java类填充。 我不知道如何填写第 2 页的表格,有人可以帮助我吗? 这是我在Jaspersoft Studio 6.10中的代码 主报告 子报表

  • 我已经创建了一个Jasper报告,我正试图将报告集成到主报告中。我可以按原样填充子报表中的数据,但如果我将其集成到主报表中,我就不能呈现我在子报表中呈现的数据。事实上,我在集成子报表的地方得到了空白。

  • 我想在iReport中将数据集从主报表转移到子报表。在Odoo版本中,我就这样使用过。 现在我使用 Odoo 版本 8 和版本 8 的新jasper_reports模块。所以我将一些jar文件从jasper_reports模块转移到iReport IDE。后。。。来自Odoo版本7的所有报告都导致了Groovy错误。这就是为什么我在iReport中将Groovy语言改为Java语言的原因。但。。。