0

我有一个java webservice,它接受 Locations 的值并执行操作。在我的BIRT报告中,我有一个ListBox,其中包含所有位置的名称。当试图将ListBox中的值链接到webservice 参数时,BIRT 开发人员给出警告消息:

如果用户从报表参数中选择多个值,则数据集参数仅使用第一个值

.

我尝试[RP_Hidden_Locations]在 BIRT 中创建一个隐藏的报告参数,它是字符串类型,并将 ListBox 报告参数中的值复制[RP_All_Locations][RP_Hidden_Locations].value = params["RP_All_Locations"].value.join("','");

这不起作用,并且在 webservice 方法中收到了空值。

请帮忙!

PS:BIRT中Data Set的数据源为Webservice Data Source,发送报表参数值如下图

<locations>?&RP_Hidden_Locations&?</locations>
4

1 回答 1

0

首先创建隐藏变量。在数据集的脚本选项卡中,选择之前打开。这里加入列表框报告参数发送的所有值。用这个:

params[RP_Hidden_​​Locations]= "'"+params["RP_All_Locations"].value.join("','")+"'";

现在设置 SOAP 请求以发送此隐藏参数。

于 2018-03-01T06:35:23.320 回答