我正在使用Jasper报告5.2,iReport 5.2并以RTF和PDF格式导出报告 .
在我的报告中,我想添加几个文本字段以及水平对齐的(静态文本)标签
Name: $F{name}
Age: $F{age}
Date of Birth: $F{dateOfBirth}
但我无法调整它们 . 这就是我试过的
-
Position Type: float(适用于所有静态文本和字段)
-
Stretch Type: 无拉伸(适用于所有静态文本和字段)
-
Stretch With Overflow: True(适用于所有动态文本字段)
图像显示了我得到的和我想要的东西 . 此外,我的文本字段的内容是动态的,即内容大小可能会有所不同 .
我已经阅读了很多论坛,但找不到解决方案,请提出建议 .
谢谢
4 回答
它可以通过容器 - Frame元素轻松完成 .
您应该将具有位置类型的框架设置为 Float ,并将staticText(label)和textField都添加到它们中 .
对于textField,我将Position Type设置为 Float ,将Stretch With Overlfow设置为 true .
样本
jrxml文件:
该报告在iReport中的设计:
结果将是(通过iReport预览):
要完成Alex K的解决方案:使用Jaspersoft Studio,不要忘记将静态文本“拉伸类型”的属性设置为“相对于最高对象” .
在Jasper Reports 3.6及更高版本(包括5.2)中,有一个使用多个细节带的工具 . 您可以将 Name 的前两个块和"Sally Admison ..."的文本放在第一个波段中 . 下面是你的 Patient ID 和"1234567890Blah..."及以下,这将是 Date of Birth 的另一个细节乐队 . 这将为您提供所需的结果 .
请不要参考我的帖子here,因为这是旧版本的Jasper Reports . 那个版本不允许你使用多个乐队,我不得不忍受一个单一的细节乐队 . 5.2不是这种情况 . 您可以享受多个细节乐队的乐趣 . 请享用!
只需增加详细信息窗格的宽度,即为我排序对齐问题 .