TextFied Expression:将空格保留在文本字段的末尾

时间:2014-01-21 09:48:44

标签: jasper-reports whitespace truncate

我在报告中遇到问题,我有一个$F{field},您可以在最后收到一个带空格的值。示例:
“20142101”)。
textField必须水平对齐“right”。
我的PDF中的结果是“20142101”(空白没有出现)

问题(我认为)是 JasperReports 自动在 textField 中修剪但我不想要这个!

我尝试过使用选项:

  • Strech with overflow
  • 细节溢出时打印
  • net.sf.jasperreports.text.truncate.at.char = true
  • net.sf.jasperreports.print.keep.full.text = true
  • 标记:无或html(带标记)

但它不起作用......

有什么建议吗?

2 个答案:

答案 0 :(得分:0)

感谢您的帮助!

我找到了一个有效但但不太合适的解决方案......

(我的$ F {field}总是一个60个字符的字符串)

($F{field} != null && $F{field}.length() == 60 && $F{field}.substring(59).equals(" ")) ? "<pre>"+$F{field}.substring(0,59)+"&nbsp</pre>" : $F{field}

(带标记html)

我也会用\ t来测试。

THX

答案 1 :(得分:0)

您可以使用带有右/左填充的无边框来显示文本字段。

<textField>
<reportElement ../>
<box border="None" rightPadding="10"/>
<textElement textAlignment="Right"/>
<textFieldExpression.. 

Source of info

注意,当我试用它时,我的jasper工作室编辑器将box元素转换为以下内容,但它具有相同的效果。

<textField>
      <reportElement mode="Opaque" x="233" y="0" width="303" height="18" forecolor="#FFFFFF" backcolor="#817F82" uuid="501dc3cf-f3cf-45d4-aa25-de24c4100354"/>
      <box rightPadding="5">
        <pen lineWidth="0.0" lineStyle="Solid"/>
      </box>
     <textElement textAlignment="Right" verticalAlignment="Middle">
       <font fontName="Arial" size="10" isBold="true"/>
     </textElement>
     <textFieldExpression><![CDATA["My data where I want blank spaces in the end of this sentence.   "]]></textFieldExpression>
</textField>