52,780
社区成员
发帖
与我相关
我的任务
分享/*!
* Ext JS Library 3.2.1
* Copyright(c) 2006-2010 Ext JS, Inc.
* licensing@extjs.com
* http://www.extjs.com/license
*/
var TreeTest = function(){
// shorthand
var Tree = Ext.tree;
return {
init : function(){
// yui-ext tree
var tree = new Tree.TreePanel({
animate:true,
autoScroll:true,
loader: new Tree.TreeLoader({dataUrl:'get-nodes.php'}),
enableDD:true,
containerScroll: true,
border: false,
width: 250,
height: 300,
dropConfig: {appendOnly:true}
});
// add a tree sorter in folder mode
new Tree.TreeSorter(tree, {folderSort:true});
// set the root node
var root = new Tree.AsyncTreeNode({
text: 'Ext JS',
draggable:false, // disable root node dragging
id:'src'
});
tree.setRootNode(root);
// render the tree
tree.render('tree');
root.expand(false, /*no anim*/ false);
//-------------------------------------------------------------
// ExtJS tree
var tree2 = new Tree.TreePanel({
animate:true,
autoScroll:true,
//rootVisible: false,
loader: new Ext.tree.TreeLoader({
dataUrl:'get-nodes.php',
baseParams: {path:'extjs'} // custom http params
}),
containerScroll: true,
border: false,
width: 250,
height: 300,
enableDD:true,
dropConfig: {appendOnly:true}
});
// add a tree sorter in folder mode
new Tree.TreeSorter(tree2, {folderSort:true});
// add the root node
var root2 = new Tree.AsyncTreeNode({
text: 'Extensions',
draggable:false,
id:'ux'
});
tree2.setRootNode(root2);
tree2.render('tree2');
root2.expand(false, /*no anim*/ false);
}
};
}();
Ext.EventManager.onDocumentReady(TreeTest.init, TreeTest, true);
data:
[{
"text": "adapter",
"id": "source\/adapter",
"cls": "folder"
}, {
"text": "dd",
"id": "source\/dd",
"cls": "folder"
}, {
"text": "debug.js",
"id": "source\/debug.js",
"leaf": true,
"cls": "file"
}]
用nodedrag事件和Ext.Ajax.request方法完成数据操作
TreeTest.on("nodedrop", function(dropEvent){
//append 添加, above or below 之前、之后
alert(dropEvent.target + ", point" + dropEvent.point + "-" + dropEvent.source);
}, this);