Jasper reports Jasper报告-水平对齐动态文本字段及其标签

Jasper reports Jasper报告-水平对齐动态文本字段及其标签,jasper-reports,alignment,textfield,ireport,Jasper Reports,Alignment,Textfield,Ireport,我正在使用Jasper report 5.2、iReport 5.2,并以RTF和PDF格式导出报告 在我的报告中,我想添加几个文本字段及其(静态文本)标签,这些标签水平对齐,如 Name: $F{name} Age: $F{age} Date of Birth: $F{dateOfBirth} 但我无法将它们对齐。这就是我试过的 位置类型:浮动(适用于所有静态文本和字段) 拉伸类型:无拉伸(适用于所有静态文本和字段) 带溢出的拉伸:True(适用

我正在使用Jasper report 5.2、iReport 5.2,并以RTF和PDF格式导出报告

在我的报告中,我想添加几个文本字段及其(静态文本)标签,这些标签水平对齐,如

         Name:  $F{name}
          Age:  $F{age}
Date of Birth:  $F{dateOfBirth}
但我无法将它们对齐。这就是我试过的

  • 位置类型:浮动(适用于所有静态文本和字段)
  • 拉伸类型:无拉伸(适用于所有静态文本和字段)
  • 带溢出的拉伸:True(适用于所有动态文本字段)
图中显示了我得到的和我想要的。 此外,我的文本字段的内容是动态的,即内容大小可能会有所不同。

我读过很多论坛,但找不到解决方案,请建议


感谢Jasper Reports 3.6及更高版本(包括5.2版)中提供了使用多个详细信息栏的功能。你可以把前两段的名字和“Sally Admison…”的文字放在第一个乐队中。下面是您的患者ID和“1234567890Blah…”,下面是另一个带有出生日期的详细信息栏。这会给你想要的结果


不要参考我的帖子,因为这是针对旧版Jasper Reports的3.5版本。那个版本不允许你使用多个乐队,我只能使用一个细节乐队。5.2的情况并非如此。你可以享受多个细节乐队带来的乐趣。享受吧

借助容器(框架元素)可以轻松完成

您应该将位置类型为Float的框架放入,并将staticText(标签)和textField放入其中

对于textField,我已经将Position Type设置为Float带有overfow的拉伸设置为true

样本 jrxml文件:


报告在iReport中的设计:

结果将是(通过iReport预览):


只需增加详细信息窗格的宽度,就可以为我解决对齐问题。

要完成Alex K的解决方案:使用Jaspersoft Studio,不要忘记将静态文本“拉伸类型”的属性设置为“相对于最高对象”.

虽然这不是很好,但这个解决方案很有效,你让我用另一种方式思考。对于每个可能面临相同问题的人来说,@Rachcha的上述解决方案非常有效,如果您希望在值列为空时跳过整个帧,请不要忘记在帧属性处设置标志“空白时删除行”并填写“表达式时打印”