【问题标题】:How to stretch fields horizontally in jasperreport? [duplicate]如何在 jasperreport 中水平拉伸字段? [复制]
【发布时间】:2019-08-29 06:54:10
【问题描述】:

我在 Java 项目中使用带有 Eclipse 插件的 JasperReports。

在 JasperReports 中,如果文本字段太长,我想水平拉伸一个字段并将下一个元素向右移动。

即使我将所有元素都设置为浮动位置,也不会发生任何事情。

如果我用isStretchWithOverflow="true" 设置文本字段,我会得到垂直拉伸,就像这样。

我正在寻找的是这样的:

1   X   11111   Campo di Testo
1   X   12345678901234567890123456789012345678901234567890  Campo di Testo

【问题讨论】:

    标签: jasper-reports


    【解决方案1】:

    正如Amongalen 在他们的answer 中所说,没有水平拉伸的属性。

    但是,

    您可以在同一个文本字段中连接多个字段以达到您想要的结果。

    ${field1} + " " + ${field2} 
    

    textField 的完整 jrxml

    <textField>
        <reportElement x="0" y="0" width="100" height="30" uuid="6757386c-10c7-451f-bb1a-97951697d782"/>
        <textFieldExpression><![CDATA[${field1} + " " + ${field2}]]></textFieldExpression>
    </textField>
    

    【讨论】:

    • 刚刚发现标记属性可以解决我的大部分问题,我什至可以做到 " + ${field1} + " " + $ {field2}]]>,谢谢
    • 感谢这项工作。
    【解决方案2】:

    据我所知,水平拉伸字段是不可能的。

    如您所见,isStretchWithOverflow 使字段仅垂直拉伸。

    你提到的另一个选项,float 位置是指......好吧......位置。如果顶部的字段之一垂直延伸或消失,则其下方所有位置设置为float 的字段将相应地向上或向下移动。

    我自己尝试了很长时间,但最终放弃了,因为这很可能是不可能的。

    在某些情况下,可接受的解决方案是将多个不同大小的字段放在一起。然后,根据文本长度,您只显示其中之一。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-25
      相关资源
      最近更新 更多