JasperReport - TextElement中的条件

时间:2012-04-15 18:40:38

标签: jasper-reports conditional-statements

我是JasperReports的新手。 当某个变量设置为'3'时,我想得到斜体文字。

这是我的代码:

<textElement>

    <font size="9" pdfFontName="Helvetica" pdfEncoding="Cp1250" isPdfEmbedded="true"
    isItalic=<![CDATA[$F{variable}==3 ? "true" : "false"]]> />

</textElement>

我做错了什么?

我也尝试过制作条件样式,但无论我把它放在哪里,都会发现错误。

1 个答案:

答案 0 :(得分:0)

您不能在表达式的帮助下使用属性isItalic(以及许多其他人)的设置值。

在您的情况下,您应该使用 conditional style

样本:

<?xml version="1.0" encoding="UTF-8"?>
<jasperReport ..>
    <style name="customStyle">
        <conditionalStyle>
            <conditionExpression><![CDATA[$F{variable} == 3]]></conditionExpression>
            <style isItalic="true"/>
        </conditionalStyle>
    </style>
    ...
    <detail>
        <band height="20" splitType="Stretch">
            <textField>
                <reportElement style="customStyle" mode="Opaque" x="100" y="0" width="100" height="20"/>
                <textElement/>
                <textFieldExpression><![CDATA[$F{value}]]></textFieldExpression>
            </textField>
        </band>
    </detail>
</jasperReport>