Jasper reports 文本字段值中的Jasper报告IF条件

Jasper reports 文本字段值中的Jasper报告IF条件,jasper-reports,Jasper Reports,使用文本字段值编辑器,我在文本字段中添加了一个带有条件的文本(注意,if是使用JasperSoft studio的字段编辑器构造的,因此代码if(…)是自动生成的,我只给出了值“pippo”和“pluto”) 但它似乎不起作用。从我的代码调用报告时,我遇到此错误: net.sf.jasperreports.engine.JRException: Errors were encountered when compiling report expressions class file: 1. The

使用文本字段值编辑器,我在文本字段中添加了一个带有条件的文本(注意,if是使用JasperSoft studio的字段编辑器构造的,因此代码if(…)是自动生成的,我只给出了值“pippo”和“pluto”)

但它似乎不起作用。从我的代码调用报告时,我遇到此错误:

net.sf.jasperreports.engine.JRException: Errors were encountered when compiling report expressions class file:
1. The method IF(boolean, String, String) is undefined for the type 

任何帮助都将不胜感激

请尝试使用
三元
运算符,而不是
(如果
如下所示)

"Some value" + (value == true ? "pippo" : "pluto")

希望这对您有所帮助。

您需要在构建文件中包含jasperreports函数。 e、 g:给格拉德尔

implementation 'net.sf.jasperreports:jasperreports-functions:6.12.2'

缺少==,无论如何这节省了我一个小时的测试,这是一个正确的答案,这段代码对我来说很有用:
($F{fieldInReport}==true?“pippo”:“pluto”)
。fieldInReport是一个布尔字段(很明显,我昨天测试了相同的代码,但它不起作用:)!)。非常感谢。您在哪里(在Java代码或Jaspersoft Studio)得到此错误?您的表达式是绝对正确的,应该至少适用于Groovy语言(设置为report)。我在运行时尝试生成报表时遇到错误,表达式是在JasperSoft Studio中创建的,报表编译正常,但执行不正常@Alex可能是重复的,也可能是这样(但我无法测试解决方案jar中没有有效的maven工件涉及太多工作,因此我更改了策略,并使用我对解决方案的评论中报告的表达式)重复项:尝试添加
net.sf.jasperreports:jasperreports函数
artifactThank@AlexK我无法测试该建议,因为我使用了另一个解决方案(答案中的一个),无论如何,这似乎是一个很好的解决方案,我无法在谷歌上找到该工件。
implementation 'net.sf.jasperreports:jasperreports-functions:6.12.2'