2013-10-16 3 views
0

내가 ExtJS.I 몇 가지 솔루션을 필요로 선택 ​​트리 상점이 나는 나무를 열고 하나를 선택합니다. 나는 그것을 데이터베이스에 JSON을의 저장. 그래서 지금ExtJS를 확장하여 시작

storeTree.load({ 
    url: 'getLastSelectedChild' 
}); 

확인, 모든 작품) 내 트리를 확장!하지만 지금은 해결책이 필요합니다. (가로드 된 경우)

나는 시작에 내 나무를로드

나는 JSON 있습니다

[ 
    {"id":3, "text":"first",}, 
    {"id":4, "text":"second",}, 
    { 
    id:"0", text: "third", expanded: true, children: 
       [ 
        { 
         id:"1", text: "child1", leaf: true 
        }, 
        { 
         id:"2", text: "child2", leaf: true 
        } 
       ] 

    }, 

] 

을하지만, 나는 또한 데이터베이스에서 선택한 노드 ID를 저장합니다. 나는 id = "2"을 선택했음을 안다. 시작할 때 노드를 자동으로 선택하려면 어떻게해야합니까? (시작시에만 트리가로드 될 때만). 내가 어떻게 할 수 있니?

var record = this.getStore().getNodeById('1'); 
this.getSelectionModel().select(record) 

을하지만 프록시를 사용하지 말아 때 작동 : 나는 나무 스토어에서 프록시를 사용

P.S은 선택이 같이 일하는되지 않습니다.

와도, 당신이 가게의 첫 번째로드 이벤트와 의미 선택에만 sturtup에서

답변

3

는 "시작시에만"로 가정하는 것이 필요 당신은 실제로 (그렇지 않으면 당신은 노드를 선택할 수 없습니다) 나무 패널이 있습니다

treeStore.on({ 
    'load': function(store) { 
     var node = store.getNodeById(2); // your id here 

     treePanel.getSelectionModel().select([node]); 

     // alternatively, if also want to expand the path to the node 
     treePanel.selectPath(node.getPath()); 
    }, 
    single: true 
});