我正在尝试使用表单别名列表填充组合框,我可以使用表单名称列表填充它但无法使别名起作用。我在组合框的值
中有这段代码var forms = database.getForms().iterator();
var tNames = new Array;
var cnt = 0;
while (forms.hasNext()){
var form:NotesForm = forms.next();
var temp = form.getAliases();
if (temp != "" && temp != null) {
tNames[cnt++] = temp;
}
}
form.recycle();
return tNames.sort();
如果我打破它并在第一次返回值temp,我会得到一个正确的Aliase值,但是,如果我让它一直运行,它会在加载页面时出现意外错误。我已经尝试了几种不同的方法来构建数组tNames,但似乎都没有。
答案 0 :(得分:7)
表单可以有多个别名。所以语句form.getAliases()
返回一个Vector。当您仅运行一次循环时,变量tNames
仅包含组合框接受的单个java.util.Vector
类值。但是当你让它运行所有值时,变量tNames
变为java.util.Vector
的数组,这是组合框不能接受的。
请尝试以下代码:
var forms = database.getForms().iterator();
var tNames = new Array();
var cnt = 0;
while (forms.hasNext()){
var form:NotesForm = forms.next();
var temp = form.getAliases().toArray();
tNames = tNames.concat(temp);
form.recycle();
}
return tNames;