2013-02-14 2 views
0

트리가 확장되지 않으면 트리의 노드를 가져올 수 없습니다. 은 이와 같이 사용하고 있습니다. tree.getNodeById (id);해당 노드 ID로 트리 노드 가져 오기

미리 감사드립니다.

해결 : 이것은 내가 사용한 코드입니다. 당신이 코드를 제공하지 않았기 때문에 여기에 무슨 일이 일어나고 있는지에 추측을 촬영

node_ids = [search_node_id,parent1_node_id,parent2_node_id] 

function select_node(node_ids,length,evt,e){ 
var node=leftnav_treePanel.getNodeById(node_ids[length]); //length is length of node_ids list 
var ajaxReq = ajaxRequest(node.attributes.url,0,"GET",true); 
ajaxReq.request({ 
    success: function(xhr) { 
     var response=Ext.util.JSON.decode(xhr.responseText); 
     if(length>0){ 
      removeChild(node); // method to remove existing childnodes 
      appendChild(response.nodes,node); // method to add child nodes from response 
      node.expand(); 
      select_node(node_ids,length-1,evt,e); 
     }else{ 
      node.fireEvent(evt,node,e); 
     } 
      }, 
    failure: function(xhr){ 
      Ext.MessageBox.alert(_("Failure") , xhr.statusText); 
    } 
}); 

}

+0

코드를 입력하십시오. – Reimius

답변

0

. 나는 당신이 아약스를 통해 비동기 적으로로드하는 treestore를 가지고 있고 상점의 노드가 아직 사용자 페이지에로드되지 않았다고 생각한다. 이것이 자바 스크립트가 그들을 찾을 수없는 이유이다.

+0

답장을 보내 주셔서 감사합니다. 이제 파이썬에서 검색 노드 경로를 표현하고 있습니다. 그래서 이제는 다음과 같은 노드에 대한 경로가 있습니다 : root_node_id/node_id/child_node_id. 이제 경로 계층 구조에서 각 노드 ID로 확장해야합니까? 아니면 다른 방법이 있습니까 ....? – user1929916

+0

tree.expandPath (경로, null, 함수 (성공) {경고 (성공)}); 더 이상 도움이 필요하다면 각 ID를 확장하면 해결할 수있는 유일한 해결책입니다 – user1929916

+0

도움이 필요하면 코드 예제 또는 jsFiddle을 입력하십시오. 자세한 정보가 없으면 무엇이 잘못된 것인지 말할 수는 없습니다. – Reimius