【问题标题】:Footer printed when page number is pair. Leaves blank space on other pages页码成对时打印页脚。在其他页面上留下空白
【发布时间】:2016-03-22 19:48:17
【问题描述】:

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

这可以正常工作,但主要问题是页脚始终占据其固定高度,无论是否打印。

这种行为让我非常难过,因为我的老板希望“把这些做好并为昨天做好”,但取消配对页面上的额外空间使我的报告看起来不太好看:我的页面页脚非常高(高度200px,或多或少)并且它在奇数页上留下的空白太大。

关于这个问题,我几乎尝试了所有我能读到的内容,但找不到解决方案。我尝试将页脚的内容移动到详细信息带区,并尝试在页码为奇数时在页面底部打印该带区,但这种解决方案并没有真正奏效。

如果能提供任何帮助,我将不胜感激。请回复,否则我的老板杀了我。

【问题讨论】:

    标签: jasper-reports


    【解决方案1】:

    pageFootercolumnFooter 是不允许溢出的波段,报告引擎不是根据内容而是根据波段高度计算那里的大小,这意味着 它们将始终与波段存在你设置的高度...

    QuotingTeodord jasper 举报人员

    “恐怕你想要达到的目标没有解决方案”

    这实际上是 jasper 报告引入 lastPageFooter 的原因,以便可以仅在最后一页上添加页脚。此外,还有一个firstPageFooter 的功能请求。

    但是已经关闭了,不需要改动,使用负坐标,背景带...

    结论:

    您需要重新考虑您的报告结构,是否有任何逻辑分组可以添加groupFooter,您可以将其堆叠到底部footerPosition="StackAtBottom",或者保持原样并回家; )

    不要试图通过在$V{PAGE_NUMBER}.intValue() % 2 == 0上分组来对jasper报告进行犯规,不幸的是它不会起作用......,你需要找到

    • 字段(数据)内的逻辑分组或

    • 关于页面$V{PAGE_COUNT}>20中存在的记录数或

    • 类似$V{PAGE_COUNT}>15 || ($V{PAGE_NUMBER}%2==0 && $V{PAGE_COUNT}>10) 的东西实际上在每个奇数页上都以不同的方式中断,在 15,10 条记录之后为您留出空间..(请注意,如果您在 @ 中的 textFieldisStretchWithOverflow="true",则不会真正控制空间987654333@乐队)

    回家吧……

    【讨论】:

    • 非常感谢。现在我相信我的老板只会砍我一只手。这是一项了不起的成就。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-09
    • 2015-08-13
    • 1970-01-01
    • 2012-01-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多