需求:EXTJS定义的一个树,后台返回JSON中的结点带有disable属性(非叶子结点也有可能)。要求能移除disabled的节点。

方案:

   function getDisabledNode(tree,node){
    var p = null
    if(null !=(p= node.firstChild)){
      getDisabledNode(tree,p)
     }else{
      if(node.disabled){
       p = node.parentNode
       p.removeChild(node)
       getDisabledNode(tree,p)
       }
      if(node == tree.getRootNode()){
       return true
       }
      }
    try{
      getDisabledNode(tree,node.nextSibling)
    }catch(e){}
}




 
EXT中定义tree 并增加一个按钮执行: getDisabledNode(tree,tree.getRootNode().firstChild)


EXTJS 树节点移除
 
 

EXTJS 树节点移除

 

//树节点不可用

notifyDrop : function(ddSource, e, data){                      
                    var record = new blankRecord({                          
                        name     : ddSource.dragData.node.attributes.text,           
                    });
                    //alert(ddSource.dragData.node.attributes.text);
                    //var rows = firstGrid.getSelectionModel().getSelections();
                    ddSource.dragData.node.disable();           //节点不可用
                    firstGridStore.add(record);
                    return(true);                 
        }

 

相关文章:

  • 2021-12-04
  • 2021-10-15
  • 2021-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-28
  • 2021-06-25
猜你喜欢
  • 2021-08-28
  • 2021-09-24
  • 2022-12-23
  • 2021-07-27
  • 2021-12-05
  • 2022-12-23
  • 2021-11-03
相关资源
相似解决方案