2013-09-04 2 views
0

names.nsf에서 사용자 이름을 조회하기 위해 입력 필드에 대한 선행 사용을 시도합니다. 내 names.nsf에는 1000 명이 넘는 사람 문서가 있습니다.XPiNC 용 Typeahead

웹 브라우저에서 응용 프로그램을 사용할 때 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> 

케빈

+0

죄송합니다, 저는 방금 XPANC 앱에서도 잘 작동한다고 오늘 발견했습니다. 불행히도, 나는 행동의 변화를 일으킨 원인을 정확히 말할 수 없습니다. 감사합니다. 케빈 –

답변

4

마다 하나의 사용자 유형 필드에 문자를 업데이 트를 요청에 거대한 성능 저하를 줄일 수 3.이에 minChars을 설정합니다.

또한 @DbLookup 대신 @DbColumn을 사용하는 것이 좋습니다.

마지막으로 코드가 문제가 될 경우 나 앞 서를 무시하십시오. 선견지명의 목적은 모든 결과를 제공하는 것이 아니라 사용자가 입력 한 내용에 따라 범위를 좁히는 것입니다.

모든 결과를 얻어야하는 경우 대신 이름 선택기 구성 요소를 사용하는 것이 좋습니다.