使用表单别名填充组合框

Bil*_*l F 1 xpages xpages-ssjs

我试图用一个表单别名列表填充一个组合框,我可以用表单名列表填充它,但不能使别名工作.我在组合框的值中有此代码

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();
Run Code Online (Sandbox Code Playgroud)

如果我打破它并在第一次返回值temp,我会得到一个正确的Aliase值,但是,如果我让它一直运行它会在加载页面时出现意外错误.我已经尝试了几种不同的方法来构建数组tNames,但似乎都没有.

Nav*_*een 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;
Run Code Online (Sandbox Code Playgroud)