【发布时间】:2013-04-30 07:21:31
【问题描述】:
我有一个显示“收件人:姓名”的字段。这里 "To" 是静态的,而 "NAME" 是一个变量。 因此,我使用了单个 Text Field attr 和 "To: " + $F{name} 作为表达式。 现在,问题是,我必须为“To”和“Name”使用两种不同的字体。 我尝试过使用样式,但我必须遗漏一些东西。 你能帮帮我吗?
注意:我不能将静态文本用于“收件人”,将文本字段用于“姓名”字段,因为它们必须居中对齐。
【问题讨论】:
我有一个显示“收件人:姓名”的字段。这里 "To" 是静态的,而 "NAME" 是一个变量。 因此,我使用了单个 Text Field attr 和 "To: " + $F{name} 作为表达式。 现在,问题是,我必须为“To”和“Name”使用两种不同的字体。 我尝试过使用样式,但我必须遗漏一些东西。 你能帮帮我吗?
注意:我不能将静态文本用于“收件人”,将文本字段用于“姓名”字段,因为它们必须居中对齐。
【问题讨论】:
好的,我可以通过以下方式修改jasper xml来实现这一点-->
<textField>
<reportElement x="36" y="192" width="329" height="16"/>
<textElement textAlignment="Center" verticalAlignment="Middle" markup="styled">
<font size="10"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA["<style fontName='ChronicleTextG1_Italic'>To: </style><style fontName='ChronicleTextG1_Roman'>" + $F{TO_NAME} + "</style>"]]></textFieldExpression>
</textField>
希望对其他人有所帮助。
【讨论】:
您只需在 iReport 表达式编辑器中执行此操作,无需手动编辑 jrxml。
对于 HTML 标记,这在表达式编辑器中看起来像这样(像往常一样直接在字段上设置字体“ChronicleTextG1_Italic”。这将处理“To:”的字体):
"To: <font face='ChronicleTextG1_Roman'>" + $F{TO_NAME} + "</font>"
【讨论】: