【发布时间】:2013-06-26 19:33:38
【问题描述】:
我正在尝试构建一个报告,当我的组更改时标题栏会重新打印,但我无法弄清楚如何做到这一点。
在其他报告中,我可以通过将标题移动到页眉中来做到这一点,当一个组只有一页但现在我有一个 3 页组(在这种情况下,它应该只打印在3) 的第一页。
Print when Group Changes 选项似乎不像我认为的那样有效(至少不在分页器标题或列标题中)。
【问题讨论】:
标签: jasper-reports
我正在尝试构建一个报告,当我的组更改时标题栏会重新打印,但我无法弄清楚如何做到这一点。
在其他报告中,我可以通过将标题移动到页眉中来做到这一点,当一个组只有一页但现在我有一个 3 页组(在这种情况下,它应该只打印在3) 的第一页。
Print when Group Changes 选项似乎不像我认为的那样有效(至少不在分页器标题或列标题中)。
【问题讨论】:
标签: jasper-reports
所以我找到了一个几乎相同的姿势,这里有建议:Jasper Reports - Print when group changes
我使用的不是“组更改时打印”
$V{yourGroupName_COUNT}==1
在 print when 选项,以便元素在一个组中只打印一次
这有效,但在页眉中我的组没有得到 1
因此,我还设置了 重置页码 和 从新页面开始 选项,我能够在我的元素上设置 print when 选项我只想在第一页打印到
$V{PAGE_NUMBER} ==1
【讨论】:
您误解了printWhenGroupChanges 属性的用途。仅在与isPrintRepeatedValues 结合使用时才有意义。当您选择隐藏报表中的重复值时,它允许您设置规则的例外;重复的值将在下一组开始时隐藏 except。因为它与数据集中重复的值有关,所以它不会对页眉产生影响(正如您已经发现的那样)。
这里的正确方法是使用组标题。将您想要重复的内容放入相关组的groupHeader 部分。
来自 JasperReports 终极指南:
组标题 此部分标志着结果文档中新组的开始。它被插入 每次迭代期间组表达式的值发生变化时的文档 通过数据源。
【讨论】: