我试着为输入字段启用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>凯文
发布于 2013-09-04 09:33:36
将您的minChars设置为3,这将减少每次单个用户在字段中输入字符时请求更新的巨大性能损失。
我还建议使用@DbColumn而不是@DbLookup。
最后,排除代码是问题所在,还是提前输入。虽然打字的目的不是给你每一个结果,而是根据用户的类型缩小范围。
如果必须得到每个结果,我建议使用名称选择器组件。
https://stackoverflow.com/questions/18609744
复制相似问题