Jasper reports 基于条件格式化字段数据颜色

Jasper reports 基于条件格式化字段数据颜色,jasper-reports,Jasper Reports,我对JasperReports不熟悉。我正在使用iReport设计报告。我的要求是我有两个值(字段)x,y进行比较。如果x=5&&$F{MyConditinalField}.intValue()=5和=10?布尔值。真:布尔值。假希望这有帮助 这并不完全是你所需要的,但可能已经足够近了,可以把你推向正确的方向。我知道这是一个老问题,但在我看来,Jasper Reports已经改变了。现在,您可以使用条件样式来实现这一点 在iReport中,创建一个新样式并为其命名。您可以在样式中放置任何默认设置

我对JasperReports不熟悉。我正在使用iReport设计报告。我的要求是我有两个值(字段)x,y进行比较。如果x 请告诉我如何进行此操作以及在何处进行验证。

在Jasperproge论坛上有一个关于此主题的讨论,这可能是最相关的部分:

首先,将要使用动态颜色的字段拖放两次。将第一个字段的背景色更改为黄色,将第二个字段的背景色更改为红色。现在右键单击黄色字段,单击属性,选择公共选项卡,并在“表达式打印时”框中编写此代码:(确保用实际字段名替换myconditionalfield)$F{MyConditinalField}.intValue()>=5&&$F{MyConditinalField}.intValue()=5和=10?布尔值。真:布尔值。假希望这有帮助


这并不完全是你所需要的,但可能已经足够近了,可以把你推向正确的方向。

我知道这是一个老问题,但在我看来,Jasper Reports已经改变了。现在,您可以使用条件样式来实现这一点

在iReport中,创建一个新样式并为其命名。您可以在样式中放置任何默认设置,例如字体、颜色、文本大小等。然后右键单击Stlye并选择“添加条件样式”。然后在要应用样式的一个或多个字段上,将样式设置为您创建的样式

因此,在您的示例中,我将主stlye中的前景色设置为黑色,将条件样式中的条件表达式设置为黑色

$F{y} > $F{x}

条件色中的前景色变成红色。然后,在放置y字段的详细信息部分,将样式设置为我们创建的样式。

下面是偶数行和奇数行的颜色示例,希望有帮助

<style name="BackgroundStyle" mode="Opaque" backcolor="#FFFFFF">

    <conditionalStyle>
        <conditionExpression><![CDATA[Boolean.valueOf($V{REPORT_COUNT}.intValue() % 2 == 0)]]></conditionExpression>
        <style backcolor="#CCFFCC"/>
    </conditionalStyle>
</style>


并为每个专栏指定风格,与我一起工作:)

谢谢Tomislav,您的解释帮助我实现了我的要求。你好,钱杜