다른 filterFunctions가 연결되어 있고 다른 열을 표시하는 여러 Datagrid에 하나의 데이터 소스 (예 : 배열)를 사용하고 싶습니다. 첫째, 나는 매우 정직하고 apporach를 사용할 생각 :Flex3에서 여러 데이터 격자에 하나의 데이터 소스 사용
- 모든 데이터 그리드에 대한의 ArrayCollection을 만들 배열
- 을 만들고
- 은 DataGrids를을 만들 배열에 "소스"속성을 설정하고 설정 자신의 dataProvider 속성을 지정된 ArrayCollection에
지금되었습니다. 모든 ArrayCollection에는 filterFunction, 정렬 상태 등이있을 수 있지만 메모리에 모든 데이터가있는 Array가 하나만 있으면됩니다.
지금 완전히 나를 혼란스럽게하는 지점 : 새 항목이 배열에 추가되면 물론 이벤트가 전달되지 않으므로 각 ArrayCollection에서 itemUpdated를 수동으로 호출해야합니다. Flex에 대한 더 깊은 이해를 돕기 위해 코드를 디버깅하는 동안, 나는이 "itemUpdated"메소드가 무엇을하는지, 특히 어도비 문서에서 "property"가 주어지지 않았다면 무엇을하는지 알아 내려고 노력했다. null 인 경우), 간단한 "refresh()"가 발생합니다. 전체 디버깅에서 "refresh()"호출을 찾지 못했습니다. 그리고 프레임 워크 전체를 최대한 깊게 내려갔습니다 (btw : 재미있는 주석이 코드에 많이 있습니다 :-))). 유일하게 찾을 수있는 것은 CollectionChangeEvent가 "item"속성에서 PropertyChangeEvent와 함께 전달되도록하는 것입니다. 어느 쪽이 "UPDATE"였는지 ("ADD"가 예상했던대로) 아닙니다. 해당 이벤트를 수동으로 전달하려고 시도하면 절대로 작동하지 않습니다 (예 : DataGrid가 업데이트되지 않음). 필자는 잠깐 itemUpdated를 고수해야한다는 것을 알고 있지만, dataprovider가 (두 가지 차원 모두에서) 커질 수 있기 때문에 성능은 나에게 관련이 있으며 후드에서 무슨 일이 벌어지고 있는지 이해하고 있습니다.
그리고이 모든 텍스트입니다. 그리고 응답하고 slightes 방법에 힌트 저를주는 사람에게 더 큰 감사를 읽을 모든 사람을위한,
:-(어도비 도움없이 그래서 큰 감사를 예상대로 I 혼란 나가와 (가능한 모든 먹으 렴 경우) 조금 더 FLES 이해할 수있다. 모든 관련의 최고
,허버트
나는 혼란 스럽다. 왜 하나의 배열을 여러 배열 컬렉션의 소스로 사용하고 있습니까?이 배열은 데이터 격자의 소스입니까? 왜 모든 DataGrid의 소스 인 1 ArrayCollection을 가지고 있지 않을까요? – Karthik