Jasper Reports:如何有条件地设置文本框样式?

时间:2013-07-11 10:43:12

标签: java jasper-reports ireport

Jasper Reports是否可以有条件地设置文本框样式?如果是,怎么样?

请注意我知道条件样式,但我不需要一个条件不同的样式,但是为每个文本框使用不同的条件设置正确的样式(当然我可以为每个样式创建一个条件样式文本框,但那将是一个真正的PITA ......)。

我正在使用Jasper Reports 3.7.6和Jasper Studio Eclipse插件。

由于

用例示例伪代码:

bean1 {
    f1
    f2
}

bean2 {
    cond1
    cond2
}

<textbox1 style="(bean2.cond1 ? style1 : style2)">
    bean1.f1
</textbox1>
<textbox2 style="(bean2.cond2 ? style1 : style2)">
    bean1.f2
</textbox2>

2 个答案:

答案 0 :(得分:1)

很遗憾,您无法定义通用样式。请参阅iReport Ultimate指南的第135页: http://community.jaspersoft.com/documentation/ireport-ultimate-guide

  

请注意,条件不能通用,   例如,您不能设置条件,如“如果数字为正”或“如果字符串是   空值   “你必须非常具体,   例如,指定a   特定值(字段,参数,变量或   涉及他们的任何表达)必须是积极的   要么   null,依此类推。

答案 1 :(得分:0)

回答自己:事实证明,不可能按照我需要的方式设置条件样式。我最终复制了每个文本字段(每个样式的副本),然后根据条件设置可见性。无聊又费时,但它确实有效。