Jasper reports 当表达式i报告多个条件时打印

Jasper reports 当表达式i报告多个条件时打印,jasper-reports,ireport,Jasper Reports,Ireport,在打印表达式时是否可以设置多个条件?请告诉我语法。 例如 (cb.flag='A'或cb.flag='B'或cb.flag='C')和cb.type'O' 我需要与和一起使用或调节 谢谢。语法是(条件)?value1:value2在value1和value2的位置上,您可能有其他约束 下面是一个使用Java约束的示例: (($F{ca} > 8) && ($F{ca} < 12) ? "near 10" : (($F{name}.charAt(0) == 'A')

在打印表达式时是否可以设置多个条件?请告诉我语法。 例如

(cb.flag='A'或cb.flag='B'或cb.flag='C')和cb.type'O'

  • 我需要与和一起使用或调节
谢谢。

语法是
(条件)?value1:value2
在value1和value2的位置上,您可能有其他约束

下面是一个使用Java约束的示例:

(($F{ca} > 8) && ($F{ca} < 12) ? "near 10" : (($F{name}.charAt(0) == 'A') ? "A": "Not A" ))
($F{ca}>8)和($F{ca}<12)?“接近10”:($F{name}.charAt(0)='A')?“A”:“不是A”))
这些是Java表达式,因此必须小心使用
=
=

现在打印部分

到目前为止,您已经定义了一个变量
variable1
,它是一个字符串变量(可以是任何其他变量),并根据您定义的约束进行行为

您只需要将它从报表检查器的变量组拖到报表的区域(很可能是详细区域)。然后它变成
$V{variable1}
,并在您的区域中打印约束指定的内容。就这样


您可以使用-
($F{sex}.equals(“0”)?“Male”:“Female”)
语法是正确的,但我想把它放在“表达式时打印”中。难道这不是真的假陈述吗?这个方程式更多的是关于选择的,对吗?阿维利斯:无论如何,谢谢。你的回答帮助我理解我的逻辑。我只是试着做($F{flag}.equals($A'))| |($F{flag}.equals($B'))| |($F{flag}.equals($C'))&(!F${type}.equals('O')),但我只是想知道(!$F{type}.equals)是否是不等于的正确语法。@Chi!我刚刚补充了几句,介绍了将值输入打印机所需的步骤。