我正在使用iReport。情况如下:

我有一些名为branchID, spType的参数。

我创建了一个名为branchName (string)的变量,默认情况下为null。

我需要做的是,根据branchNamebranchID的值来更改/编辑变量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/

10-08 20:28