2011-06-12 4 views
0

저는 Flex를 처음 사용하고 기존 코드를 수정하려고합니다. 나는 그것을 사용하려고 시도하고 AdvancedDataGrid. click 이벤트에서 ListEvent가 전달되고 코드는 event.itemRenderer.data.feature와 같은 속성에 액세스 할 수 있습니다.AdvancedDataGrid 런타임 속성과 디자인 타임 액세스하기

사용자가 부모 (그룹) 레코드 또는 하위 레코드를 클릭했는지 확인하고 싶습니다. 런타임에 액세스하려는 속성이 event.itemRenderer.listData.hasChildren이라는 것을 알 수 있습니다. 그러나 itemRenderer의 listData 속성은 intellisense에 표시되지 않으며 디자인 타임에 액세스하려고하면 "아마도 정의되지 않은 속성 listData 액세스"오류로 인해 프로젝트가 빌드되지 않습니다. 그러나 속성 .data.feature는 디자인 타임에 인텔리 센스에 나타나지 않으며 빌드되고 실행됩니다.

프로젝트를 빌드 할 때 오류를 발생시키지 않고 event.itemRenderer.listData에 액세스하려면 어떻게해야합니까? 다른 이벤트를 캡처하거나 이벤트 객체 또는 해당 속성 중 하나를 런타임에 필요한 속성을 가진 다른 객체로 캐스팅해야합니까 (이러한 옵션을 조사했지만이를 수행하는 방법에 대한 정보는 찾을 수 없음).

통찰력에 대해 많은 감사드립니다.

+0

이벤트의 "대상"속성이 다른 것을 기억하지 못합니까? – dkretz

답변

1

아마도 IDropInListItemRendererAdvancedDataGridListData을 사용하여 캐스트를 수행해야합니다. 다음과 같은 것 :

((event.itemRenderer as IDropInListItemRenderer).listData as AdvancedDataGridListData).hasChildren 
+0

감사하지만 이것은 '정의되지 않은 속성에 대한 액세스'오류를 추가로 throw합니다. – Meg

+0

글쎄, 뭔가 어리 석다. 여러 문장으로 줄을 나눕니다. 어떤 부분이 "정의되지 않은 속성 오류에 대한 액세스"를 던지고 있는지 파악하십시오. 캐스트 중 하나가 잘못되었거나 null을 반환 할 가능성이 있습니다. – JeffryHouser