Jasper reports 文本化表达式:在文本字段的末尾保留空格

Jasper reports 文本化表达式:在文本字段的末尾保留空格,jasper-reports,whitespace,truncate,Jasper Reports,Whitespace,Truncate,我在一个报告中遇到了一个问题,我有一个$F{field},在这个报告中,您可以收到一个末尾带有空格的值。示例:“20142101”)。 文本字段必须水平对齐到“右”。 我的PDF文件中的结果是“20142101”(空格不显示) 问题是(我认为)JasperReports会自动在文本字段中进行修剪,但我不想这样 我尝试过使用选项: 溢出 当细节溢出时打印 net.sf.jasperreports.text.truncate.at.char=true net.sf.jasperreports.pr

我在一个报告中遇到了一个问题,我有一个
$F{field}
,在这个报告中,您可以收到一个末尾带有空格的值。示例:
“20142101”)。
文本字段必须水平对齐到“右”。
我的PDF文件中的结果是“20142101”(空格不显示)

问题是(我认为)JasperReports会自动在文本字段中进行修剪,但我不想这样

我尝试过使用选项:

  • 溢出
  • 当细节溢出时打印
  • net.sf.jasperreports.text.truncate.at.char=true
  • net.sf.jasperreports.print.keep.full.text=true
  • 标记:无或html(带标记)
但它不起作用


有什么建议吗?

谢谢你的帮助

我找到了一个可行的解决方案,但它不是很合适

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

($F{field}!=null&&$F{field}.length()==60&&$F{field}.substring(59).equals(“”)?“+$F{field}.子字符串(0,59)+”:$F{field}
(带有html标记)

我也将使用\t进行测试


Thx

您可以使用一个无边框框,在文本字段中使用右/左填充

<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>


它适用于我,无需修剪字段值。您可以发布完整的样本(带有数据源)来重现您的问题吗?您可以使用
\t
来设置间距。在手动创建的模板中工作良好,无需
<textField>
<reportElement ../>
<box border="None" rightPadding="10"/>
<textElement textAlignment="Right"/>
<textFieldExpression.. 
<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>