Jasper垂直对齐底部,可选字段

时间:2014-04-07 11:57:35

标签: jasper-reports

我最后有一份Jasper报告,其中包含法律声明(企业A和企业B):

enter image description here

这些法律声明取决于报告中的内容。如果企业B不存在,我希望企业A坚持在页面底部,如下所示:

enter image description here

但我没有找到任何选择。因此,“企业A”保留在同一个地方,并且它与页脚之间有一个空格:

enter image description here

我尝试了选项:“位置类型:相对于底部”,但它似乎并不是为了这个目的。

3 个答案:

答案 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 (即如果列表拉伸,页脚相应地向下移动。)