在Jaspersoft iReport中根据值应用条件样式?

时间:2013-02-25 15:05:31

标签: jasper-reports

我尝试根据值将条件样式应用到我的iReport中。以下是部分代码。它有效,但只有前景色。只是想知道如何让它在fontsize上工作。

<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="Eligibility Report" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" whenResourceMissingType="Empty" uuid="519852db-b571-4ddd-86c0-9e09e13fb7e9">
    <property name="ireport.zoom" value="1.5"/>
    <property name="ireport.x" value="0"/>
    <property name="ireport.y" value="0"/>

    <style name="HBA1C">
        <conditionalStyle>
            <conditionExpression><![CDATA[$F{HBA1C}.equals("Yes")]]></conditionExpression>
            <style forecolor="#000000"/>
        </conditionalStyle>
        <conditionalStyle>
            <conditionExpression><![CDATA[$F{HBA1C}.equals("No")]]></conditionExpression>
            <style forecolor="#FF0000" backcolor="#FF0000" fontSize="40"/>
        </conditionalStyle>
    </style>

2 个答案:

答案 0 :(得分:2)

背景的默认设置可能设置为透明。您需要添加属性mode="Opaque"。确保要使用此样式的元素不会覆盖此设置。

<style forecolor="#FF0000" backcolor="#FF0000" mode="Opaque" fontSize="40"/>

答案 1 :(得分:-1)

如果只有两种样式,您可以创建两个具有不同样式的字段,并使用“print when expression”