【问题标题】:How to stretch a text field relative to data width in Jasper Reports如何在 Jasper Reports 中相对于数据宽度拉伸文本字段
【发布时间】:2012-01-23 21:52:22
【问题描述】:
我有一个文本字段,后跟一个静态文本字段,我正在尝试用它做两件事:
- 当文本长度超过字段宽度时,让文本字段水平拉伸(不换行)并且
- 当左侧的文本字段伸展时,将静态文本字段向右推
两个字段都包含在一个框架内。
我将两个字段设置为 positionType=float 并将文本字段设置为 stretchWithOverflow=true,这使文本可以垂直换行但不能水平拉伸。
上面的1和2可以实现吗?如果有怎么办?
【问题讨论】:
标签:
jasper-reports
field
stretch
【解决方案1】:
您可以拥有 1 个文本字段,其值为 $F{Field} + "statix text",而不是 2 个文本字段(动态和静态)。这可能会解决您的问题。此外,您可以根据需要设置“宽度”和“溢出拉伸”属性。
【解决方案2】:
这是个坏消息!!根据 Jaspersoft 在 stretching fields 上的文档,无法拉伸字段的宽度:
“通常,拉伸过程仅指高度调整。
拉伸报表元素时,调整宽度也会影响
页面宽度并在运行时引发意外错误(例如,
截断的信息可以打印在页面上)。这就是为什么
拉伸一个元素让它的宽度不变,而它的高度得到
绝对扩大,以便为所有信息腾出空间
必须显示。”(Jaspersoft 文档 [v4.5.0],2011)
但是感谢@mdahlman 可以找到原始问题的解决方案here