我想在第一个排序的分类视图列中收集值。
但是,由于列公式,有时值可能是多值的:
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);
打破了代码。
任何人都有建议从列中获取值吗?
答案 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;
然后,您将始终获得包含所有值的Vector(即使它只是一个值)