我正在使用iReport。情况如下:
我有一些名为branchID, spType
的参数。
我创建了一个名为branchName (string)
的变量,默认情况下为null。
我需要做的是,根据branchName
和branchID
的值来更改/编辑变量spType
的值
如何使用If Else使用JasperReports做到这一点。它具有branchName
变量的属性吗?任何帮助/建议将不胜感激。
最佳答案
Jasper报告中的Expressions脚本语言是您的 friend !
我可以从您的查询中了解到的是,您想基于两个参数的值来计算变量的值。简而言之,您想要执行以下操作:
简单的if-else
If (branchId == 1 && spType == "abc")
branchName = "Xyz1";
else
branchName = "Xyz2";
在Jasper脚本语言中,上面的表达式可以写成:-
($P{branchId}==1 &&
$P{spType} != null &&
$P{spType}.equals("abc"))?"Xyz1":"Xyz2"
嵌套If-else
If (branchId == 1 && spType == "abc")
branchName = "Xyz1";
else if (branchId = 2 && spType == "def")
branchName = "Xyz2";
else
branchName = "Xyz3";
碧 Jade 表达:
( $P{branchId} ==1 &&
$P{spType} !=null &&
$P{spType}.equals("abc") ) ? "Xyz1" :
(($P{branchId} == 2 &&
$P{spType} != null &&
$P{spType}.equals("def")) ? "Xyz2" : "Xyz3");
有关更多详细信息,请看一下本教程:
http://www.tutorialspoint.com/jasper_reports/jasper_report_expression.htm
这也是一个类似的stackoverflow问题:
doing comparison if else in JasperReports
对于核心概念,第该pdf文件的10个:
http://jasperreports.sourceforge.net/JasperReports-Ultimate-Guide-3.pdf
关于variables - 如何在JasperReports中按需更改变量值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18224033/