我遇到了JasperReports的一些问题。我有一个只在$V{PAGE_NUMBER}.intValue() % 2 == 0
时打印的页脚。
这是正常的,但主要问题是页脚总是占据其固定高度,无论是否打印。
这种行为让我非常伤心,因为我的老板想要“这些做得好,昨天”,但是非对页上的额外空间让我的报告看起来不是很好看:我的页脚很高(高度) 200px,或多或少)和它在奇数页上留下的空白区域太大了。
我几乎尝试了关于这个问题的所有内容,但找不到解决方案。我试图将页脚的内容移动到一个细节带,并尝试在页面编号为奇数时在页面底部打印该带,但此解决方案并没有真正起作用。
我会感激任何帮助。请回复或我的老板杀了我。
答案 0 :(得分:1)
pageFooter
和columnFooter
是不允许溢出的频段,报告引擎计算的内容大小不是内容而是带宽,这意味着它们将始终存在你设置的乐队高度......
Quoting Teodord jasper报告工作人员
"我担心你想要达成的目标没有解决方案"
这实际上是为什么jasper报告引入了lastPageFooter
,以便能够在最后一页上设置页脚。此外,还有firstPageFooter的功能请求。
但它已关闭,无需更改,使用负坐标,背景乐队......
<强>结论:强>
您需要重新考虑报告结构,是否有任何逻辑分组,您可以添加groupFooter
,您可以将其堆叠到底部footerPosition="StackAtBottom"
,或保持原样并且去家)
不要试图通过对$V{PAGE_NUMBER}.intValue() % 2 == 0
进行分组来破坏碧玉报告,不幸的是它不起作用......,你需要找到
您的字段(数据)或
有关页面$V{PAGE_COUNT}>20
或
像$V{PAGE_COUNT}>15 || ($V{PAGE_NUMBER}%2==0 && $V{PAGE_COUNT}>10)
这样的东西,实际上每个奇数页面都有不同的区别,在15,10条记录之后留下你的空间..(如果你isStretchWithOverflow="true"
textField
,请注意空格不是真正受控制的{1}} detail
频段内的{1}}
所以回家....