2012-11-12 43 views
1

如何追加上的某個位置的孩子(如默認的最後一個節點後,新的孩子會出現)ExtJS的4 treeStore的appendChild特定節點之後


我的解決方案是使用的順序

變量
function treeGridReorder(){ 
     var i=0 ,j = 0; 
     treeGrid.getView().getStore().each(function(node){ 
      node.data.ordre=i; 
      j=0; 
      node.eachChild(function(cnode){ 
       cnode.data.ordre=j; 
       j++; 
      }); 
      i++; 
     }) 
    } 

function add_reponse(quest, qIndex){ 
     questStr.sort('ordre', 'ASC'); 
     var now=new Date().getTime(); 
     questStr.getNodeById(quest).appendChild({id:now, libelle:'Nouvelle réponse',parentq:quest, saved:false, leaf: true}); 
     treeGridReorder() 
    } 

回答

1
+0

謝謝@dbrin問題'insertChild'將其插入商店,所以在視圖中這沒有任何影響,我想在視圖 – Kld

+0

確認它有效果的節點的位置。視圖必然會被商店所嘗試。 – dbrin

+0

我通過使用包含視圖上每行的順序的新變量解決了問題,問題是view.store的順序與grid.store的順序不同,順序是當你開始時,但如果你拖放或刪除行或視圖的順序會改變,但商店的順序仍然相同 – Kld