Jasper reports 如何根据组中最长文本自动设置字段的最小宽度
我使用iReport创建报告,我想知道是否有办法设置“光学分组字段”的宽度。它们应设置为最小大小,以显示最长的文本。我在左边有静态文本,右边有文本字段。此文本字段设置为宽度150,对齐方式设置为右侧,但我希望设置较小的大小以消除空白 考虑一下这样的事情Jasper reports 如何根据组中最长文本自动设置字段的最小宽度,jasper-reports,ireport,Jasper Reports,Ireport,我使用iReport创建报告,我想知道是否有办法设置“光学分组字段”的宽度。它们应设置为最小大小,以显示最长的文本。我在左边有静态文本,右边有文本字段。此文本字段设置为宽度150,对齐方式设置为右侧,但我希望设置较小的大小以消除空白 考虑一下这样的事情 Name: Paul Surname: Smither 并且想要自动地 Name: Paul Surname: Smither 等可以小于预设大小,但不能大于 有办法吗??即使是某
Name: Paul
Surname: Smither
并且想要自动地
Name: Paul
Surname: Smither
等可以小于预设大小,但不能大于
有办法吗??即使是某些组件,如果不使用Java框架,也无法动态更改元素宽度
引述自:
元素大小
宽度和高度属性是必需的,表示大小
以像素为单位测量的报表元素的。其他元素拉伸
设置可能会指示报告引擎忽略指定的
元素高度。即使在这种情况下,属性仍然是必需的
因为即使动态计算高度,元素也会
不得小于最初指定的高度
您可以阅读以更好地理解更改元素大小的机制 如果它实际上只是数据集中来自同一行的两个字段,那么您可以将它们组合在一起
- 使用单空格字体
- 使用设置为N个空格的字符串定义最大字段长度。例如:
$P{MaxLengthString}默认值为10个空格:“”
- 将字段文本从
更改为:$F{FirstName}
$P{MaxLengthString}.substring( $P{MaxLengthString}.length() + $F{FirstName}.length() - java.lang.Math.max($F{FirstName}.length(), $F{LastName}.length()) ) + $F{FirstName}