2017-10-06 22 views
0

我想收集第一個排序的分類視圖列中的值。ViewEntry - columnValues.get(0)有時多值列

但是,有時值可以是多值由於列公式:

names := @If(Form = "project"; projectManager : projectCustomer;       Form = "budget"; docAuthors; Form = "plan"; "docOwners"; "[Unknown]"); 

@Return(@Name([Abbreviate];@Unique(names))) 

某些字段是單一數值的,有些是多值。

我試圖

Vector<String> names= entry.getColumnValues(); 
String name = String.valueOf(names.get(0)); 

但這數組轉換爲字符串

Vector<String> names= entry.getColumnValues(); 
String name = names.get(0); 

斷碼。

任何人都有建議從列中獲取值?

回答

3

您是否嘗試過檢查值的類型?事情是這樣的:

Vector<?> data = entry.getColumnValues(); 
Object tmp = data.get(0); 
Vector<?> result = new Vector(); 

if(tmp instanceof String){ 
    result.add((String) tmp); 
} 

if(tmp instanceof ArrayList){ 
    ArrayList list = (ArrayList) tmp; 
    for(int i=0; i<list.size(); i++){ 
     result.add(list.get(i)); 
    } 
} 

if(tmp instanceof Vector){ 
    Vector<?> vec = (Vector) tmp; 
    for(int i=0; i<vec.size(); i++){ 
     result.add(vec.get(i)); 
    } 
} 


return result; 

然後,你總是會得到一個向量與所有的值(甚至是單值只)

+0

嗨斯文,感謝,認爲自己是一個救星。很多appreviated! –