Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/393.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
Java BIRT-所选参数值的Render displayText属性_Java_Parameters_Birt - Fatal编程技术网

Java BIRT-所选参数值的Render displayText属性

Java BIRT-所选参数值的Render displayText属性,java,parameters,birt,Java,Parameters,Birt,我有一个报告,其中我需要在标题中显示一个参数 该参数是一个允许多个选择的动态列表框 在“我的报告”标题中放置一个带有以下表达式的动态文本框将导致“null”在实际不为null时被输出: params["parameterName"].displayText 使用以下代码生成数字输出(如预期) 如何显示运行时所做的参数选择的实际关联文本?我试图用reportContext.getParameterDisplayText()函数解决类似问题,但发现很难使用它 如果您仍然想用这种方法解决问题,可以从

我有一个报告,其中我需要在标题中显示一个参数

该参数是一个允许多个选择的动态列表框

在“我的报告”标题中放置一个带有以下表达式的动态文本框将导致“null”在实际不为null时被输出:

params["parameterName"].displayText
使用以下代码生成数字输出(如预期)


如何显示运行时所做的参数选择的实际关联文本?

我试图用
reportContext.getParameterDisplayText()函数解决类似问题,但发现很难使用它

如果您仍然想用这种方法解决问题,可以从这里开始:

我针对自己的需求开发了以下变通方法: 1) 首先,您需要两个数据集。一个用于实际参数,第二个用于显示选择的数据:

this.queryText = this.queryText.replace("xxx", params["Parameter"].value.join("','" ));
参数数据集查询:

显示数据集查询:

2) 然后,在第二个数据集的beforeOpen事件中使用一个脚本,将查询where中的“xxx”字符串替换为值​​选择参数的步骤:

this.queryText = this.queryText.replace("xxx", params["Parameter"].value.join("','" ));

3) 现在可以向报表中添加数据元素,为第二个数据集添加绑定,并输出包含显示值的一列​​由组_CONCAT连接的参数的

最后,参数选择的输出如下所示:

SELECT GROUP_CONCAT(DISTINCT paramTbl.name ORDER BY paramTbl.id  SEPARATOR ', ') AS 'displayText' 
FROM
(select 'A' AS name,
        1 AS id 

UNION ALL

select 'B' AS name,
        2 AS id 

UNION ALL

select 'C' AS name,
        3 AS id
) AS paramTbl

WHERE paramTbl.id IN('xxx')
this.queryText = this.queryText.replace("xxx", params["Parameter"].value.join("','" ));