Typeahead for XPiNC

时间:2013-09-04 09:11:45

标签: xpages

我尝试为输入字段启用typeahead以从names.nsf中查找用户名。我的names.nsf包含超过1000个人的文档。

从Web浏览器使用我的应用程序时,typeahead工作正常(能够从names.nsf中查找任何用户名)。

但是,当从Notes客户端(即XPiNC)使用我的应用程序时,typeahead仅尝试从names.nsf中的前50个人文档进行查找,因此剩余的用户名将永远不会从预先输出的结果中显示出来。我该如何解决这个问题?

<xp:typeAhead mode="partial" minChars="1" ignoreCase="true" id="typeAhead1">
    <xp:this.valueList>
        <![CDATA[#{javascript:return @Name("[Abbreviate]",@DbLookup(new Array(@DbName()[0],"names.nsf"),"($VIMPeople)",getComponent("Username").getSubmittedValue(),1,"[PARTIALMATCH]"));}]]>
    </xp:this.valueList>
</xp:typeAhead>

凯文

1 个答案:

答案 0 :(得分:4)

将您的minChars设置为3.这将减少每次单个用户在字段中键入字符时请求更新的巨大性能损失。

我还建议使用@DbColumn而不是@DbLookup。

最后排除代码是问题还是预先输出。虽然typeahead的目的不是为了给你每一个结果,而是根据用户输入的内容缩小范围。

如果您必须获得所有结果,我建议您改用名称选择器组件。