我有一个列表框参数(它允许多个值)。该参数为value列选择INTEGER,为显示文本选择STRING。DisplayTest发送NULL作为其值
我想将此列表中的所有值打印到报告中。
我想:
"Selected param(s) :" + params["param"].displayText.join(",");
但displayText返回null ...我不知道为什么!
所以我试图用一个列表:
var paramCount = params["param"].value.length;
var param= parseInt(params["param"].value);
for(i=0; i < paramCount; i++){
if(param== row["param"]){
row["paramText"];
}
}
我用我用来建立帕拉姆查询。所以row [“paramText”]是STRING中的值,params [“param”]是INTEGER中的值。
我添加了parseInt,因为我的值打印了一个对象,如::[Ljava.lang.Object;@6c8a3a0
。即使我使用parseInt ...它不会将值转换为int并打印NaN。
我只需要知道为什么我displayText送我空或者为什么我的PARAMS [“参数”]值返回一个对象(和它doen't要被转换)
如果需要的话:我使用BIRT 3.7.1
谢谢
您可以在此分享解决方案吗?我在注册该论坛时遇到问题...并且遇到类似的问题。 – Hawk
我并没有重新找到我使用过的workarround。但是,在我从http://developer.actuate.com/community/forum/index.php?/topic/19869-displaying-label-of-dynamic-parameter-list-box-in-report/上下载的报告中。我在数据集的“onFetch”方法中找到了替换数据集中的一个单词的方法。请参阅:(函数mwilliam:http://developer.actuate.com/community/forum/index.php?/user/3879-mwilliams/):if(custList.indexOf(row [“CUSTOMERNUMBER”]。toString() )!= null){ custList = custList.replace(row [“CUSTOMERNUMBER”]。toString(),row [“CUSTOMERNAME”]); } – Bob