我有一个java webservice,它获取Locations的值并执行操作。在我的BIRT报告中,我有一个ListBox,其中包含所有位置的名称。当尝试将ListBox中的值链接到webservice参数时,BIRT开发人员会发出以下警告消息:
如果用户从report参数中选择多个值,则数据集参数仅使用第一个值
.
我尝试在BIRT中创建一个隐藏的报告参数[RP_Hidden_Locations]
,它是字符串类型,并将ListBox报告参数[RP_All_Locations]
中的值复制为[RP_Hidden_Locations].value = params["RP_All_Locations"].value.join("','");
这不起作用,并且在webservice方法中收到了null值。
请帮忙!
PS:BIRT中数据集的数据源是Webserivce数据源,并发送报告参数值,如下所示
<locations>?&RP_Hidden_Locations&?</locations>
首先创建隐藏变量。在数据集的脚本选项卡中,在打开之前选择。加入listbox报告参数发送的所有值。用这个:
params [RP_Hidden_Locations] =“'”+ params [“RP_All_Locations”]。value.join(“','”)+“'”;
现在设置SOAP Request以发送此隐藏参数。