키보드 이벤트를 통해 입력 한 텍스트를 기반으로 콤보 상자를 검색하려고합니다. 검색이 작동하고 올바른 결과를 선택하고 있지만 찾을 수있는 올바른 항목을 찾을 수있는 scrollToIndex 얻이 수없는 결과 (i). 그것은 내가 콤보 박스의 기본 동작이라고 생각하는 마지막 글자로 스크롤하는 것입니다. 나는 내가 이벤트 목표를 잘못 말하고 있다고 생각한다. 초보자가 내 머리를 찢어. 도울 수 있니? 고맙습니다. 다음은 함수는 다음과 같습니다플렉스 3 scrollToIndex 도움말
private function textin(event:KeyboardEvent):void
{
var combo:ComboBox = event.target as ComboBox;
var source:XMLListCollection = combo.dataProvider as XMLListCollection;
str += String.fromCharCode(event.charCode);
if (str=="") {
combo.selectedIndex = 0;
}
for (var i:int=0; i<source.length; i++) {
if (source[i][email protected](new RegExp("^" + str, "i"))) {
combo.selectedIndex = i;
event.target.scrollToIndex(i);
break;
}
}
}
제어 : event.target
가 mx.control.ComboBox
그때는 ComboBox
가 상속하지 않습니다 mx.controls.ListBase
에 정의 된 방법입니다 scrollToIndex
방법을 가지고 있지 않습니다이다
<mx:ComboBox keyDown="textin(event);" id="thislist" change="processForm();" dataProvider="{xmllist}"/>
왜 코드를 가져 오는 키보드 이벤트의 대상이 ComboBox입니까? 그게 이벤트라고 확신합니까? 타겟? 코드의 나머지 부분을 게시하면 도움이 될 것입니다. –