【发布时间】:2021-05-23 18:13:35
【问题描述】:
我有一个这样的简单报告:
我传递的信息格式如下:
{ image deleted }
但是当我看到报告时,我看到一些完全随机或未格式化的内容,如下所示:
我希望文本的格式与我从 Java 传递的一样。我做错了什么?
更新
periodoDisfrutado 是 java.lang.String 类型的一个字段,我从我的 Java 传递一个 java.lang.String:
我的 Java 类将数据发送到报告的方法:
我的 XML 文件是
<group name="empleado">
<groupExpression><![CDATA[$F{empleado}]]></groupExpression>
<groupHeader>
<band height="117">
<textField>
<reportElement x="7" y="8" width="547" height="20" forecolor="#FF0000"/>
<textElement>
<font isBold="true"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA["Empleado: " + $F{empleado}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="7" y="33" width="148" height="20"/>
<textElement/>
<textFieldExpression class="java.lang.String"><![CDATA["Dias de Vacaciones/Año: " + $F{diasTotal}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="161" y="33" width="119" height="20"/>
<textElement/>
<textFieldExpression class="java.lang.String"><![CDATA["Dias disfrutados: " + $F{gastados}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="281" y="33" width="105" height="20"/>
<textElement/>
<textFieldExpression class="java.lang.String"><![CDATA["Dias restantes: " + $F{restantes}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" isBlankWhenNull="false">
<reportElement x="176" y="59" width="378" height="56"/>
<textElement textAlignment="Left"/>
<textFieldExpression class="java.lang.String"><![CDATA[$F{periodoDisfrutado}]]></textFieldExpression>
</textField>
<staticText>
<reportElement x="7" y="59" width="169" height="20"/>
<textElement/>
<text><![CDATA[Periodos de vacaciones disfrutados:]]></text>
</staticText>
</band>
</groupHeader>
</group>
【问题讨论】:
-
你使用什么数据源?
-
最好贴出你的代码(示例 jrxml + Java 代码)
-
数据源只是一个带有一些字段的普通 Java 类。非常感谢查看我编辑的问题
-
传递jrxml文件的相关部分
-
看来您所有的“未格式化”文本都在一个 $field 中,所以 jasper 将其格式化为文本,也许您需要将数据重组为数据源并使用子报表...
标签: java jasper-reports