2010-02-05 4 views
1

int, string 등과 같은 간단한 데이터 유형 인 "normal"속성이 많이 포함 된 ClassA 기본 클래스가 있습니다. 또한 하나의 속성 ("childItems")이 있습니다. ClassB의 ArrayCollectionFlex AdvancedDataGrid AdvancedDataGridRendererProvider childrenField ArrayCollection - 동작에 대한 질문

ClassA의 ArrayCollection을 AdvancedDataGrid의 계층 적 데이터 공급자의 소스로 사용하고 있습니다. childrenField를 "childItems"로 설정했습니다.

내가 중첩 된 테이블과 원형 차트에서 ClassB가 개체 목록에 대한 몇 가지 정보를 표시 할, 그래서 내가 AdvancedDataGridItemRendererProvider 구성 (columnIndex에 = 0, columnSpan = 0, 깊이 = 2) 내 사용자 정의 렌더러를 가리 키도록하는 테이블과 원형 차트가있는 HBox입니다.

무엇이 설정되어 있는지 확인하려면 내 맞춤 렌더러에서 "데이터 설정"기능을 무시하고 ArrayCollection의 각 ClassB 인스턴스가 렌더러에 개별적으로 전달된다는 것을 확인했습니다.

여기 내 질문 : ClassB 인스턴스의 전체 ArrayCollection을 개별적으로 자식 목록의 각 항목이 아닌 사용자 지정 렌더 공급자에게 전달해야합니다. ADG가 전체 속성이 데이터로 렌더러에 전달되고 각 항목이 별도로 전달되지 않는다고 이해하게하려면 어떻게해야합니까?

Btw, "childItems"의 데이터 유형을 ArrayCollection에서 ArrayList로 변경하면 전체 목록이 전달되고 원하는 작업을 쉽게 수행 할 수 있습니다. 그러나 내 이해를 기반으로, ArrayList 정말 사용되어야하고 ArrayCollection 더 좋거나 적어도 더 일반적인 것입니다.

그 점에 대한 통찰력은 인정 될 것입니다.

감사합니다.

+0

계층 적 목록을 작성 중이므로 하위 노드는 별도로 렌더링됩니다. 아이 렌더러에 전체 ClassB 인스턴스 목록이 필요하면 ClassB 배열이 ClassA 객체의 단일 하위가되도록 데이터를 재구성해야합니다. 각 ClassA 인스턴스 렌더러에 대해 ClassB 인스턴스의 목록에 액세스 할 수있는 자식 렌더러보다 많을 것입니다. – rekaszeru

답변

1

저는 ArrayCollection 대신 ArrayList를 사용하여 속성 데이터 형식을 고수했습니다. 그런 다음 ArrayList 전체가 ArrayCollection의 항목 당 하나의 렌더러 대신 한 렌더러로 한 번 전달됩니다.

원본 데이터 구조가 ArrayCollection이고 내 모든 다른 목록이 ArrayCollections이기 때문에 그다지 좋지 않습니다.하지만 저에게는 효과적이었습니다. 다른 솔루션을 찾으려 애쓰지 않았습니다.

관련 문제