2017-03-17 58 views
0

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

謝謝

回答

0

我發現displayText似乎有一些缺陷。因此,我使用了一個工作周:http://developer.actuate.com/community/forum/index.php?/topic/19869-displaying-label-of-dynamic-parameter-list-box-in-report/

+0

您可以在此分享解決方案嗎?我在註冊該論壇時遇到問題...並且遇到類似的問題。 – Hawk

+1

我並沒有重新找到我使用過的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