有时候咱们在程序中,须要把一棵TreePanel的元素拖放到另一棵 TreePanel中,若是是在同一棵树中拖动时设置组件的enableDD参数为true,而如今须要在不一样给的树之间拖动元素,这个时候就能够设置组 件的enableDrag和enableDrop参数,详细示例以下: 算法
Ext.onReady(function(){ var tree1 = new Ext.tree.TreePanel({ el: 'tree1', //这里设置enableDrag为true表示能够从这里拖动元素到别处 enableDrag:true, loader: new Ext.tree.TreeLoader({dataUrl: 'treeData1.txt'}) }); var tree2 = new Ext.tree.TreePanel({ el: 'tree2', //这里设置enableDrop为true表示能够在这棵树中放置拖动过来的元素 enableDrop:true, loader: new Ext.tree.TreeLoader({dataUrl: 'treeData2.txt'}) }); var root1 = new Ext.tree.AsyncTreeNode({text:'跟节点'}); var root2 = new Ext.tree.AsyncTreeNode({text:'图书'}); tree1.setRootNode(root1); tree2.setRootNode(root2); tree1.render(); tree2.render(); });
treeData1.txt: spa
[ {text:'非叶子结点'}, {text:'叶子结点',leaf:true} ]treeData2.txt:
[ {text:'计算机',children:[ {text:'Java',children:[ {text:'Java核心技术',leaf:true}, {text:'Thinking in Java',leaf:true} ]}, {text:'算法导论',leaf:true} ]}, {text:'音乐',children:[ {text:'乐理基础',leaf:true}, {text:'卡尔卡西古典吉他教程',leaf:true} ]} ]