仅在 BIRT 报告的第一页上显示页脚

问题描述 投票:0回答:1

在我的报告中,有一个标题需要显示在所有页面上。在标题之后,将有一个包含多行的网格。网格的每一行可以具有可变长度(由于描述字段),并且可以根据描述的大小占用更多空间。 如果网格有更多行,那么它将溢出到下一页,并且在最后一页上我需要显示页脚。

我尝试使用此处答案中提到的2个母版页如何仅在第一页上显示页脚(birt条件显示页脚)

但是,我不知道何时进行分页,因为网格中的行数可能会根据描述字段的大小而变化。

非常感谢任何帮助。

java eclipse birt
1个回答
0
投票

标题与正文矛盾: 标题:“第一页”,文本:“最后一页”。

如果您只想在首页显示页脚:

使用 2 个母版页来解决此问题的概念仅适用于您的网格(或表格或其他内容)应在第一页之后开始,或者您知道应从第 2 页开始的特定网格行。 但是,这不适用于您的用例。

另一种方法是使用单独的 RunTask 和 RenderTask 以及页面变量(我自己从未测试过)。例如,您可以使用页面变量来存储页面的第一个(=最小)网格行的编号,并为每个页面重置它。 然后,在母版页中,您可以使用此页面变量作为页脚的可见性表达式。 不过,后续页面的页脚位置仍会保留。

如果您只想在最后一页的底部显示页脚,您可以使用类似的方法。

我在报告中的做法(在最后一页底部显示页脚)是另一种: 我将添加一个固定高度的空行作为网格的最后一行,只是为了保留空间。然后我会使用 BIRT 外部的 PDF 后处理器在最后一页添加页脚。 BIRT 报告将后处理器的文本和格式化指令写入 appContext,后处理器读取这些数据并使用 OpenPDF 来呈现它。但这种方法需要将 BIRT 集成到您的应用程序中。

我不认为有一种直接的方法可以得到你想要的东西。

© www.soinside.com 2019 - 2024. All rights reserved.