Подтвердить что ты не робот

Изменение цвета данных текстового поля (цвет переднего плана) на основе условия в JasperReports

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

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

4b9b3361

Ответ 1

Вы можете использовать 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>