我有一個列表框參數(它允許多個值)。該參數爲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