2009-12-02 2 views
1

나는 Flex UI에서 목록으로 표시하는 데이터 소스를 가지고 있습니다.목록 관리

나는 목록을 주기적으로 내 UI 요구 사항 중 하나는 데이터 소스 목록에서 항목을 제거 할 때 우아하게 보여주는 것입니다 새로 고침, 그래서 들어오는 데이터 소스에 대한 현재 목록의 상관 관계를하고있다.

상관 과정은 이것이다 :

  1. 이 데이터 소스를 새로 고칩니다. 폐쇄 나는이 일치, 플래그 기존 항목을 찾을 수없는 경우 기존의 데이터 세트를 통해

  2. 루프는 입력 항목에 대해 각각의 ID를 확인합니다. UI는 항목 업데이트시이 플래그를 처리하며 시각적 트릭입니다.

  3. 다음에 데이터를 새로 고칠 때 현재 목록에서 플래그가 지정된 항목을 찾아 제거하십시오.

여기에 내 질문에 내가 가장 효율적인 방법으로이 일을하고,입니까? 아니면 빠진 몇 가지 간단한 트릭이 있습니까?

업데이트 : JAXB와 동일한 as3 도움말이 있습니까?

+0

사용자에게 항목이 변경되었다는 시각적 표시 (CRUD)를 제공하고 싶습니까? – asawilliams

+0

그래, 사용자는 데이터의 읽기 전용보기 만 가지고 있으므로 내가 가지고있는 유일한 것은 통합 목록과 목록의 마지막 사본입니다. 그래서 필자는 더 이상 존재하지 않는 항목을 확인하고 표시하며, 문제의 원인은 내가하는 것과하지 않는 것과 반대되는 것으로 생각한다. – ocodo

+0

현재 모델에서이 작업을 수행하고 List 구성 요소에 관리되는 목록을 제공합니다. 목록을 하위 클래스로 만들고 데이터 처리를 수정해야한다고 생각하기 시작했습니다. – ocodo

답변

1

, 당신은 아마 목록의 각 항목에 대한 사용자 정의 아이템 렌더러를 갖고 싶어. 그런 다음 원본 목록을 업데이트 된 목록과 병합 할 때 항목이 삭제 된 경우 목록 개체 (예 : x [i] .deleted = true)에 속성을 설정합니다. 그런 다음 사용자 정의 항목 렌더러에서 "삭제 된"속성의 상태에 따라 다르게 렌더링됩니다.

심플.

+0

그게 내가 이미하고있는 일이야. 모델이 복잡하며 삭제 된 항목이 있다는 것을 실제로 알아야 할 필요가 없습니다. 그러나 목록에서 dataprovider를 검사/상관 시키면 모델에서 delete 속성을 신경 쓸 필요가 없습니다. 여기서는 상관 관계를 관리하기 위해 List의 하위 클래스를 만들고 목록 모델 항목을 인터페이스하여 정렬 및 삭제 플래그의 UID를 갖습니다. – ocodo

+0

상관 관계를 관리하는 위치 때문에 질문이 떠 올랐습니다 (모델 인구 루틴에서 새로 고침으로 시작) – ocodo

+0

예. 병합을 처리하기 위해 목록을 서브 클래 싱하는 것도 쉬워야합니다.그냥 "set dataProvider"함수를 오버라이드하고 필요에 따라 추가 속성을 설정하십시오. – Glenn

0

내가 아주 따르지 확신 해요,하지만 당신은 단지 데이터 소스 업데이트의 결과로 그 바인드 목록 즉에 대한 데이터 공급자로 데이터 소스에서 새 데이터를 사용할 수있다? 내가 알고있는 것처럼

+0

마지막 새로 고침에 포함되지 않은 항목에 효과를 표시해야하기 때문에 데이터를 바인딩하는 것이 아닙니다. 내가 생각하고 나는 데이터를 incomming 이전 데이터의 상관 관계 /로에 의해, dataChange을 관리하는 (또는 DATAGROUP, 이것은 Flex4이 BTW입니다) 목록의 새 버전을 작성해야합니다. 모델 자체에서 수행하는 대신 약간 중복 된 것처럼 보입니다. – ocodo