參考樣本:增加、刪除、修改節點
增加節點
var tree = mini.get("tree1");
var node = tree.getSelectedNode();
var newNode = {};
tree.addNode(newNode, "before", node);
刪除節點
var node = tree.getSelectedNode();
tree.removeNode(node);
編輯節點
var node = tree.getSelectedNode();
tree.beginEdit(node);
移動節點
tree.moveNode(node, targetNode, "before");
posted on 2012-12-04 15:31 nikofan 閱讀(433) 評論(1) 編輯 收藏
Feedback
# re: jQuery MiniUI 開發教程 樹形控制項 樹操作:增加、刪除、修改、移動(六)[未登入] 2012-12-05 13:56 1
Ext.onReady(function() {
Ext.Direct.addProvider(Ext.app.REMOTING_API);
Ext.QuickTips.init();
myTreeLoader = new Ext.tree.TreeLoader( {
applyLoader:false,
paramsAsHash: true,
baseParams : {
id : 'oid',
foo: 'empty'
},
directFn: treeProvider3.getTreeGrid
});
var tree = new Ext.ux.tree.TreeGrid({
title: 'Core Team Projects',
width: 600,
height: 500,
id: 'usedByPartsTreeGridID',
//rootVisible:false, //不顯示根節點
renderTo: Ext.getBody(),
//enableDD: true,//是否可以移動
//autoScroll: true,//是否有捲軸
loader: myTreeLoader,
columns:[{
header: 'Task',
dataIndex: 'task',
width: 200
},{
header: 'Duration',
width: 200,
dataIndex: 'duration'
},{
header: 'Assigned To',
width: 200,
dataIndex: 'user'
}]
});
myTreeLoader.on("beforeload", function(treeLoader, node) {
alert(node.attributes.Task);
Ext.getCmp('usedByPartsTreeGridID').getLoader().baseParams.id = node.attributes.Task;//node.attributes.task為節點屬性task的值
Ext.getCmp('usedByPartsTreeGridID').getLoader().baseParams.foo = count;
Ext.getCmp('usedByPartsTreeGridID').getRootNode().reload();
}, this)
});
@ExtDirectMethod(value = ExtDirectMethodType.TREE_LOAD, group = "tree")
public List<TreeVO> getTreeGrid(
@RequestParam(value = "id") String id,
@RequestParam(value = "foo", defaultValue = "defaultValue") String foo) {
List<TreeVO> secondresult = new ArrayList<TreeVO>();
List<TreeVO> childresult = new ArrayList<TreeVO>();
List<TreeVO> result = new ArrayList<TreeVO>();
for (int i = 1; i <= 5; ++i) {
TreeVO children = new TreeVO();
children.setTask(i + "second level children");
children.setDuration(i + " level children");
children.setLeaf("true");//是否葉子節點,true為是,如果不是葉子節點,則不能設定值
children.setIconCls("task");
children.setUser(i + "second user");
secondresult.add(children);
}
for (int i = 1; i <= 5; ++i) {
TreeVO children = new TreeVO();
children.setTask(i + "first level children");
children.setDuration(i + " level children");
children.setIconCls("task-folder");
children.setUser(i + "first user");
children.setChildren(secondresult);//secondresult List<TreeVO>類型
childresult.add(children); www.2cto.com
}
TreeVO rootNode = new TreeVO();
rootNode.setTask("Project: Shopping");
rootNode.setDuration("Project 0 level children");
rootNode.setExpanded("true");
rootNode.setIconCls("task-folder");
rootNode.setUser("Tommy Maintz");
rootNode.setChildren(childresult);
result.add(rootNode);
return result;
}