2012-07-12 2 views
0

treestore의 레벨을 플랫 저장소에 매핑하는 좋은 방법은 무엇입니까? 내 경우에는ExtJs4 TreeStore 레벨을 Store에 매핑

검색 조건을 그룹화하려고합니다. 모든 탐색 기준은 그룹화되지 않은 경우 treeStore의 최상위 레벨에 삽입되며,이 경우 최상위 논리 (AND 또는 OR) 노드의 하위가됩니다. 그리드 내에서 최상위 노드를 표시하려고합니다 (모델에서 정의 할 일부 toString 메서드를 통해). 이것은 쉬운 부분입니다, 나는 단지 내 나무의 최상위 단계를 거치고 Store/grid에 대한 결과물을 생성합니다. 그러나 그리드/저장소에서 항목을 제거하려면 실제 논리 구조를 나타내는 트리 스토어에서 제거해야합니다.

그렇다면 어떻게 treeStore에서 최상위 노드에 해당하는 텍스트 저장 항목을 추적 할 수 있습니까?

+0

트리 및 그리드 모델을 게시하십시오. – jorel

+0

그리드 모델은 내가 생성하는 텍스트에 대한 단일 필드가있는 암시 적 모델이며 모델이 없습니다. 트리 모델에는 다양한 필드가 있습니다. 모델 필드의 필드 내용은 식별자 필드를 입회하는 것이 문제의 합리적인 해결 방법이 아니라면 문제가되지 않지만 복잡한 단계가 추가됩니다. – Bbb

+0

두 가지 해결책을 생각하고있었습니다. 첫 번째는 물론 모델에 ID 필드를 도입하는 것입니다. 두 번째는 필터를 사용하는 것입니다. – jorel

답변

0

스토어 또는 트리 그리드에 데이터를로드 한 다음 한 객체에서 레코드를 수집하고 store.add() 또는 treestore.getRootNode(). appendChild()를 사용하여 다른 객체에 레코드를 추가하십시오. . 이 시점에서 레코드에 대한 참조가 있으면 store.remove ([record])를 말할 수 있습니다. 그런 다음 treestore.getRootNode(). removeChild (record); 둘 다에서 그것을 제거하십시오.