页码对时打印页脚。在其他页面留下空白

时间:2015-12-04 11:21:53

标签: jasper-reports

我遇到了JasperReports的一些问题。我有一个只在$V{PAGE_NUMBER}.intValue() % 2 == 0时打印的页脚。

这是正常的,但主要问题是页脚总是占据其固定高度,无论是否打印。

这种行为让我非常伤心,因为我的老板想要“这些做得好,昨天”,但是非对页上的额外空间让我的报告看起来不是很好看:我的页脚很高(高度) 200px,或多或少)和它在奇数页上留下的空白区域太大了。

我几乎尝试了关于这个问题的所有内容,但找不到解决方案。我试图将页脚的内容移动到一个细节带,并尝试在页面编号为奇数时在页面底部打印该带,但此解决方案并没有真正起作用。

我会感激任何帮助。请回复或我的老板杀了我。

1 个答案:

答案 0 :(得分:1)

pageFootercolumnFooter是不允许溢出的频段,报告引擎计算的内容大小不是内容而是带宽,这意味着它们将始终存在你设置的乐队高度......

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}}

所以回家....