我正在尝试构建一个报告,当我的小组发生变化时标题栏会重新打印,但我无法弄清楚如何做到这一点。
在其他报告中,我可以通过将标题移动到页面标题来做到这一点,当一个组只有一页但现在我有一个 3 页组时,这工作正常(在这种情况下,它应该只打印在3) 。
Print when Group Changes选项似乎不像我认为的那样有效(至少不在分页器标题或列标题中) 。
我正在尝试构建一个报告,当我的小组发生变化时标题栏会重新打印,但我无法弄清楚如何做到这一点。
在其他报告中,我可以通过将标题移动到页面标题来做到这一点,当一个组只有一页但现在我有一个 3 页组时,这工作正常(在这种情况下,它应该只打印在3) 。
Print when Group Changes选项似乎不像我认为的那样有效(至少不在分页器标题或列标题中) 。
所以我找到了一个几乎相同的姿势,这里有建议: Jasper Reports - Print when group changes
我使用的不是“组更改时打印”
$V{yourGroupName_COUNT}==1
in print when选项,以便元素在组中仅打印一次
这有效,但在页眉中,我的组没有得到 1 的计数,
因此我还设置了重置页码和在新页面上开始选项,我能够在我想要的元素上设置打印时选项只打印在第一页上
$V{PAGE_NUMBER} ==1
您误解了printWhenGroupChanges
属性的用途。仅在与 结合使用时才有意义isPrintRepeatedValues
。当您选择隐藏报表中的重复值时,它允许您为规则设置例外;重复的值将隐藏,除非在下一组的开始。因为它与数据集中重复的值有关,所以它不会对页眉产生影响(正如您已经发现的那样)。
这里正确的方法是使用组头。将您想要重复的内容放入groupHeader
相关组的部分中。
来自 JasperReports 终极指南:
GROUP HEADER This section marks the start of a new group in the resulting document. It is inserted in the document every time the value of the group expression changes during the iteration through the data source.