Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Variables 如何在JasperReports中按需更改变量值_Variables_Parameters_Jasper Reports_Ireport - Fatal编程技术网

Variables 如何在JasperReports中按需更改变量值

Variables 如何在JasperReports中按需更改变量值,variables,parameters,jasper-reports,ireport,Variables,Parameters,Jasper Reports,Ireport,我正在与iReport合作。情况如下: 我有一些参数名为branchID,spType 我已经创建了一个名为branchName(string)的变量,默认为null 我需要做的是,根据branchName和spType的值更改/编辑变量branchName的值 如何使用If-Else使用JasperReports实现这一点。它是否具有变量branchName的属性?如有任何帮助/建议,将不胜感激 i报告支持使用脚本编写 可以在报表元素上单击鼠标右键,然后单击“编辑表达式”以打开表达式编辑器 还

我正在与iReport合作。情况如下:

我有一些参数名为
branchID,spType

我已经创建了一个名为
branchName(string)
的变量,默认为null

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


如何使用If-Else使用JasperReports实现这一点。它是否具有变量
branchName
的属性?如有任何帮助/建议,将不胜感激

i报告支持使用脚本编写

可以在报表元素上单击鼠标右键,然后单击“编辑表达式”以打开表达式编辑器

还有一些有用的注释。

Jasper reports中的表达式脚本语言是您的朋友! 从您的查询中我可以理解的是,您希望根据两个参数的值计算变量的值。简言之,您希望执行以下操作:-

否则很简单 在Jasper脚本语言中,上述表达式可以写成:-

($P{branchId}==1 && 
 $P{spType} != null &&
 $P{spType}.equals("abc"))?"Xyz1":"Xyz2"
嵌套If-else 贾斯珀表情:

( $P{branchId} ==1 &&
  $P{spType} !=null && 
  $P{spType}.equals("abc") ) ? "Xyz1" :
    (($P{branchId} == 2 &&
      $P{spType} != null &&
      $P{spType}.equals("def")) ? "Xyz2" : "Xyz3");
有关详细信息,请参阅本教程:

这里还有一个类似的stackoverflow问题:

关于核心概念,请参见本pdf第10页:

回答得很好。。。谢谢你@Kahini Wadhawan
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");