2011-01-24 4 views
2

나는 itemrenderer를 사용하여 데이터를 렌더링하는 스파크리스트 컨트롤을 가지고 있습니다. 기본적으로 Item 렌더러는 패널 내에서 데이터를 레이아웃합니다.Itemrenderer와 그 부모간에 이벤트를 전달하는 방법

Panel에는 LinkButton이 있습니다.이 버튼을 클릭하면 부모 응용 프로그램에 ID를 전달해야합니다. 부모 응용 프로그램에는 사용자 지정 이벤트를 부모에게 전달하는 함수가 있습니다. 이 함수를 ItemRenderer에서 호출하는 방법을 알고 싶습니다.

나는 ..

모든 단서가 parentDocument.outerfunction는하지만 오류가 발생 등을 사용하여 시도?

답변

-1

PureMVC를 사용하는 경우 수신자가 필요한 작업을 처리하고 수행한다는 알림을 보낼 수 있습니다. 이는 맞춤 이벤트를 실행하고 상위 이벤트를 수신하는 것과 유사합니다.

4

아이템 렌더러에서 ID가 포함 된 맞춤 이벤트를 전달하여 이벤트가 거품 나는지 확인합니다. 그런 다음 상위 응용 프로그램에서 해당 이벤트를 수신하고 적절한 함수를 호출하십시오. 희망이 도움이됩니다.

+0

예, 아이템 렌더러에서도 맞춤 이벤트를 등록했습니다. linkbutton의 클릭에, 나는 evnt의 인스턴스를 만든 다음 그것을 파견. 그러나 부모 응용 프로그램에서 처리하는 방법에 대한 단서가 없습니다. .. 설명해 줄 수있는 코드를 보여줄 수 있습니까? – Lin

+1

itemRenderer : 새 CustomEvent (CustomEvent.CUSTOM, true); 부모 : addEventListener (CustomEvent.CUSTOM, customHandler) –

+1

또는 bubble을 사용하지 않으려면 itemRenderer에 을 추가하십시오. new CustomEvent (CustomEvent.CUSTOM); 부모의 : addEventListener (CustomEvent.CUSTOM, customHandler, true) –

0

잘 이해한다면 this.parentApplication 또는 this.parent.parent 아이템 렌더러를 호출 해 볼 수 있습니다.

0

가장 좋은 방법은

0

이 내가 테스트 parentComponent에이 노력하고 있습니다 .. 사용자 지정 이벤트 거품을 만들 .. 부모 문서에서 해당 이벤트에 대한 이벤트 리스너를 추가하는 것입니다 (this.owner.parent) .function ... 소유자는 목록이고 부모는 목록이있는 구성 요소입니다. 예 : InvitationList (this.owner.parent) .invitationAccepted (persist); type this.owner.parent를 부모 클래스에 캐스트하십시오.

관련 문제