Jasper reports Jasper使用可选字段垂直与底部对齐

Jasper reports Jasper使用可选字段垂直与底部对齐,jasper-reports,Jasper Reports,我有一份Jasper报告,末尾附有法律通知(企业a和企业B): 这些法律通知取决于报告的内容。如果企业B不存在,我希望企业A像这样贴在页面底部: 但我找不到任何办法来这样做。因此,“企业A”保留在同一位置,并且在它和页脚之间有一个空格: 我尝试了“Position type:Relative to bottom”(定位类型:Relative to bottom)选项,但它似乎并不适用于此。我能想到的最快解决方案,尽管可能不是很优雅,是创建第二个“Enterprise a”textfield

我有一份Jasper报告,末尾附有法律通知(企业a和企业B):

这些法律通知取决于报告的内容。如果企业B不存在,我希望企业A像这样贴在页面底部:

但我找不到任何办法来这样做。因此,“企业A”保留在同一位置,并且在它和页脚之间有一个空格:


我尝试了“Position type:Relative to bottom”(定位类型:Relative to bottom)选项,但它似乎并不适用于此。

我能想到的最快解决方案,尽管可能不是很优雅,是创建第二个“Enterprise a”
textfield
并将其定位,使其与“Enterprise B”重叠然后为第二个“企业a”编写一个
打印条件,使其仅在缺少“企业B”时可见。此外,由于您可能不希望第一个“Enterprise A”字段在此场景中可见,因此您也必须为其添加一个
打印条件,以便在缺少“Enterprise B”时它不可见。

您不需要超过两个字段,请尝试以下操作:

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,它将显示在底部字段中

如果可以将法律通知组织为一个数据集(即每个通知一行),那么您可以使用哪些元素是通知。如果通知和页脚应位于标注栏/框架的底部,则可以尝试将列表的位置类型和页脚设置为相对于底部固定(即,列表的页脚和底边的位置相对于标注栏/框架的底部固定,列表向上拉伸)。如果仅要求页脚应位于通知下方,则您可以将页脚的位置类型设置为浮动(即,如果列表被拉伸,页脚将相应地向下移动)。

。我试图在这个问题上悬赏。如果没有更好的答案,我会接受你的。