5

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

我有一些名为branchID, spType.

我创建了一个名为branchName (string) 默认为空的变量。

我需要做的是,根据和的值更改/编辑变量branchName的值branchIDspType

如何使用 If Else对JasperReports执行此操作。它与变量的属性有关branchName吗?任何帮助/建议将不胜感激。

4

2 回答 2

8

Jasper 报告中的表达式脚本语言是您的朋友!

我可以从您的查询中了解到,您想根据两个参数的值计算变量的值。简而言之,您想要执行以下操作:-

简单的 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";

贾斯珀表达:

( $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

于 2013-08-14T18:34:20.550 回答
0

iReport 支持使用表达式编写脚本。

您可以右键单击报告元素并单击编辑表达式以打开表达式编辑器。

此答案中还有一些有用的注释。

于 2013-08-14T05:53:01.973 回答