Изменить цвет данных текстового поля (цвет переднего плана) на основе условия в JasperReports - PullRequest
14 голосов
/ 06 января 2012

Я новичок в JasperReports.Я разрабатываю отчет, используя iReport.У меня есть три значения x, y, z.Если z x, то цвет данных для z следует изменить на «красный».Подскажите, пожалуйста, как это сделать.

Я использую JDeveloper для разработки настольного приложения.и iReport для разработки JasperReport.

1 Ответ

16 голосов
/ 06 января 2012

Вы можете использовать Conditional styles для решения этой проблемы.

Образец:

<style name="ZFieldStyle">
    <conditionalStyle>
        <conditionExpression><![CDATA[$F{Z} < $F{Y}]]></conditionExpression>
        <style forecolor="#000000"/>
    </conditionalStyle>
    <conditionalStyle>
        <conditionExpression><![CDATA[$F{Z}>$F{X}]]></conditionExpression>
        <style forecolor="#FF0000"/>
    </conditionalStyle>
</style>
...
<field name="X" class="java.lang.Integer"/>
<field name="Y" class="java.lang.Integer"/>
<field name="Z" class="java.lang.Integer"/>
...
<textField>
    <reportElement style="ZFieldStyle" x="200" y="0" width="100" height="20"/>
    <textElement/>
    <textFieldExpression><![CDATA[$F{Z}]]></textFieldExpression>
</textField>
...