1

我正在尝试使用表单别名列表填充组合框,我可以使用表单名称列表填充它,但无法让别名工作。我在组合框的值中有此代码

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,但似乎都没有。

4

1 回答 1

7

一个表单可以有多个别名。所以该语句form.getAliases()返回一个向量。当您只运行一次循环时,该变量只包含一个组合框接受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;
于 2013-08-28T04:46:23.967 回答