Jasper reports 基于值在Jaspersoft iReport中应用条件样式?

Jasper reports 基于值在Jaspersoft iReport中应用条件样式?,jasper-reports,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:schemaL

我尝试根据值将条件样式应用到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>

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

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


如果只有两种样式,您可以创建两个具有不同样式的字段并使用“表达式打印”

谢谢您的回复。添加mode=“不透明”对于获得前景色和背景色非常重要。但仍然无法让fontsize正常工作。有什么想法吗?如果字体大小不适用,很可能是在元素本身上设置的。如果使用Jaspersoft Studio继承视图,您可以看到哪个级别(样式引用、样式、元素)设置了某个属性。检查应该具有字体大小的元素,在属性面板中,您可以右键单击字体大小重置默认值。这不是一个好的建议。它增加了不必要的复杂性;降低了报告的可维护性,一旦您必须维护多个条件,报告就会变得复杂。如果要实现上下文相关格式,条件样式是一种可行的方法。