2012-10-18 2 views
0

ext-js 4.1을 사용하여 계층 적 탭을 만들려합니다 (최대 n 레벨까지 가능). 탭 계층 구조에 대해 아래와 같이 저장소를 만들려고합니다. 그래서 나는 일반적인 방법을 사용하여 탭을 만들 수있다. 계층 적 탭을 만들기 위해이 저장소 구조를 반복 할 수 있습니까?extjs의 반복 데이터 저장소

각 레벨을 명확하게 표시하고 탭의 깊이를 표시하려면 아래 구조가 읽을 수 있어야합니다.

"toptab1": [{ 

"id" : 1000 

"name" : "coo", 

"child": [{ 

    "id": 1 , 

     "name": "foo" , 

     "child": [{ 

     "id" : 11 , 

       "name": "roo" , 

       "child": [{ 

         "id" : 111, 

          "name" : "hoo" 

        }, 

     { 

      "id: 112, 

      "name": "poo" 

     }] 

        }, 

        { 

        "id" : 12 , 

        "name" : "too" 

      }] 

}, 

{ 

    "id" : 2, 

    "name" : "woo", 

    "child" :[{ 

     "id": 21, 

     "name" : "soo" 

     "child" : [{ 

      "id" : 211, 

      "name" : "boo" 

     }] 

    }, 

    { 

     "id" : 22, 

     "name" : "doo" 

    }] 

}, 

{ 

    "id" : 3, 

    "name": "zoo" 

}]; 
+0

서식 태그에 나중에 참조 할 수 있도록 게시물에 extjs 버전도 떨어져 아직도있다. 그것은 귀하의 질문에 신속하게 데리러 도움이 될 수 있습니다! – Mutant

+0

나는 응답을 기다리고 있지만 아무것도 없다. 위의 저장소 구조를 재귀 적으로 거쳐 계층 구조 탭을 만들 수있는 방법이 없습니까? – NiteshGoel

+0

(n 레벨까지)이 작업을 수행 하시겠습니까? extjs4 패널은 무겁습니다. – sunny

답변

0

나는 탭에 대한 정보를 저장할 모델을 만들 것입니다.

그런 다음 올바른 계층 구조에 저장하려면 TreeStore를 사용하십시오.

다음과 같이 할 수 있습니다.

http://docs.sencha.com/ext-js/4-1/#!/api/Ext.data.TreeStore-method-getRootNode

var topLevel = this.getTabStore().getRootNode(); 
topLevel.cascadeBy(function(tab) { 
    //Do what you want with each tab here. 
}); 

http://docs.sencha.com/ext-js/4-1/#!/api/Ext.data.NodeInterface-method-cascadeBy