If statement Jasper报告If-Else条件表达式

If statement Jasper报告If-Else条件表达式,if-statement,jasper-reports,If Statement,Jasper Reports,我想问一下ireport jasper报告中的if-else表达式。我可以知道在if-else语句中有多个或多个参数吗 (($P{endDate}.isEmpty()==true || $P{endDate}.equals(""))? "" : " createDate>='" + $P{startDate} +"'" && " createDate<='" + $P{endDate} +"'") ($P{endDate}.isEmpty()==true | |$P

我想问一下ireport jasper报告中的if-else表达式。我可以知道在if-else语句中有多个或多个参数吗

(($P{endDate}.isEmpty()==true || $P{endDate}.equals(""))? "" :
" createDate>='" + $P{startDate} +"'" && " createDate<='" + $P{endDate} +"'")
($P{endDate}.isEmpty()==true | |$P{endDate}.equals(“”)):

“createDate>=”+$P{startDate}+“”&&“createDate

我假设这是您试图编写的查询表达式。您可能需要执行以下操作:

为数据集创建一个参数。不应“提示”此参数,并将其称为日期限制表达式。然后应将其默认值设置为表达式。例如(如果我理解您的意思),这可能是您的默认表达式:

"1" + 
(($P{startDate}.isEmpty() == false) ? (" AND createDate >= " + $P{startDate}) : "") +
(($P{stopDate}.isEmpty() == false) ? (" AND stopDate <= " + $P{stopDate}) : "")

请注意“$p!"语法。您可以在中找到有关此的详细信息。

您希望表达式的含义是什么?我的表达式是让用户输入参数。可能有多个参数可以让用户输入。用户可以选择输入一个或多个参数。此表达式用于检测用户输入的参数并决定采取何种操作。您的else表达式
“createDate>=”+$P{startDate}+“&&&”createDate也在使用此表达式进行数据集查询吗?如果是,您使用的数据集类型是什么?如果您将此表达式用于数据集查询,恐怕您不能使用此Java语法。如果是查询,您将需要类似以下内容:
select 
    ...
where $P!{DATE_LIMIT_EXPRESSION}