0

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

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

但是,当从 Notes 客户端(即 XPiNC)使用我的应用程序时,预输入仅尝试从 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>

凯文

4

1 回答 1

4

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

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

最后排除代码是问题还是提前输入。尽管预先输入的目的不是为您提供所有结果,而是根据用户键入的内容缩小范围。

如果您必须获得所有结果,我建议您改用 Name Picker 组件。

于 2013-09-04T09:33:36.210 回答