我最后有一份Jasper报告,其中包含法律声明(企业A和企业B):
这些法律声明取决于报告中的内容。如果企业B不存在,我希望企业A坚持在页面底部,如下所示:
但我没有找到任何选择。因此,“企业A”保留在同一个地方,并且它与页脚之间有一个空格:
我尝试了选项:“位置类型:相对于底部”,但它似乎并不是为了这个目的。
答案 0 :(得分:1)
我能想到的最快的解决方案,虽然可能不是很优雅,但是要创建第二个"企业A" textfield
并对其进行定位以使其重叠"企业B"然后为第二个"企业A"写一个Print when
条件。这样只有在"企业B"不见了。此外,因为您可能不希望第一个"企业A"要在此方案中显示的字段,您还必须为其添加Print when
条件,以便在" Enterprise B"不见了。
答案 1 :(得分:0)
你不需要两个以上的字段,试试这个:
expression for top field:
($F{ENT_A} != null && $F{ENT_B} != null)
? $F{ENT_A}
: ""
expression for bottom field:
($F{ENT_A} != null && $F{ENT_B} != null)
? $F{ENT_B}
: ($F{ENT_A} != null
? $F{ENT_A}
: $F{ENT_B}
说明:
如果您有A和B,A将位于顶部字段而B位于底部字段中,如果您只有A或B,它将显示在底部字段中
答案 2 :(得分:0)
如果可以将法律声明组织为数据集(即每个通知一行),则可以使用list component作为通知的元素。如果通知和页脚应位于乐队/框架的底部,那么您可以尝试将列表的位置类型 和页脚设置为修复相对于底部(即页脚的位置和列表的下边缘相对于条带/框架的底部固定,并且列表向上拉伸)。如果仅重新排列页脚应该在通知之下,那么您可以将页脚的位置类型 设置为 Float (即如果列表拉伸,页脚相应地向下移动。)