java - 子报表的详细信息带未显示

标签 java jasper-reports ireport

我的主报告包含 5 个字段,其中 4 个是 java.lang.String 类型,最后一个是 java 类型。实用程序列表。我将后者用作子报表 的数据源。我设置了子报表数据源

子报表属性:

连接类型:使用数据源表达式
数据源表达式:new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{Field5})

数据传递工作正常(我猜),因为当我在 Java 应用程序中填写报告时。我可以查看传递给字段 1 到 4 的数据,但在字段 5 中,一开始我无法验证,因为 子报表 不显示数据,只显示 列中定义的静态文本标题

然后当我把子报表的字段放到Page Footer时,发现数据传递成功,问题是Detail 乐队本身没有出现。

为什么不显示?

子报表属性中,我有:

没有数据时:所有部分,无详细信息

请任何人对此有所了解。

最佳答案

我遇到同样的问题超过 1 天了。在我正在开发的应用程序中,有多个 JasperReports 可以工作。我在添加新的时遇到了这个问题。无论我怎样尝试,Detail 栏中都没有显示任何内容。我尝试了一切,从三次检查填充报告的 Controller ,到升级到最新的 jasperreports jar 和最新的 iReports 版本。似乎没有任何效果。

问题是报告默认设置为:When No Data: All Sections, No Detail,这基本上意味着如果没有数据发送到报告,它将显示所有部分,细节除外。

尽管除了我用来测试报告的静态文本之外,我还直接从 Java Controller 传递参数,但直到我将 EXEC [myFunction] $P{parameterId} 添加到报表的 Query Text 属性。该函数是一个简单明了的函数,它将从 Java 传递的 parameterId 作为参数并返回一些东西。 (另外,确保将 The language for the dataset query sql 属性设置为 SQL)。

总而言之,出于某种原因,报告似乎没有将 Java 参数作为数据(因此它显示了所有部分,Detail 除外),所以当我显式调用 SQL返回一些参数并将它们放入我的详细信息页面的函数,它有效。

我希望这对你有帮助,我绞尽脑汁想了 10 个小时才弄明白。

关于java - 子报表的详细信息带未显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13024431/

相关文章:

java - 将 org.apache.poi.ss.usermodel.Cell 的 Cellstyle 设置为 boolean 值

java - 为什么这个方法的时间复杂度是2*O(n log n) + O(m log m)?

java - 如何创建从 Java 调用的深入报告?

excel - JExcelApiExporter 和 JRXlsExporter 之间的区别

jasper-reports - 页尾空白

java - Maven:在多模块项目中组装子项目(模块)

java - 从新闻文章网页中提取主要内容(最高文本密度)

java - Jasper Report—— HashMap 或子报告

java - Jasper 报 Font not found 异常

java - 如何将 iReport 字体更改为参数