对于Ext4的树,与Ext.grid.Panel是属于同一个父类Ext.panel.Table,所有有树的有许多的基本特性可以参照Table和grid来学习,当然树也有自己的特性。如下图:
[img]http://dl2.iteye.com/upload/attachment/0085/6289/b62ae7bc-45b2-3558-901b-d58bedfbddd7.png[/img]
在树的动态加载,有如下配置:
Tree的Store中需要的属性:
Tree的Model中需要的属性:
服务器端返回的数据格式:
增加节点后的树的分支刷新:
感谢和我一起开发的,给我帮助的所有的朋友们,和给予我灵感的乔梁,还有程序员的网站http://stackoverflow.com/, Develop with Pleasure!
[img]http://dl2.iteye.com/upload/attachment/0085/6289/b62ae7bc-45b2-3558-901b-d58bedfbddd7.png[/img]
在树的动态加载,有如下配置:
Tree的Store中需要的属性:
autoLoad: true,
root:{
id:null,
text: "根节点",
expanded: true
}
Tree的Model中需要的属性:
proxy: {
type: 'ajax',
url:url
},
sorters: [{..}]
服务器端返回的数据格式:
//nextLevelNodes 是子节点的List
modelMap.put("children", nextLevelNodes);
modelMap.put("success", "true");
增加节点后的树的分支刷新:
//selectedNode.raw.id 所选节点的ID
var selectedNodeFromStore = store.getNodeById(selectedNode.raw.id);
//store是树的Store(继承自Ext.data.TreeStore)
store.load({node: selectedNodeFromStore, callback:function() {
//currentNode.raw.id 新增加节点的ID
var currentNode = store.getNodeById(currentNode.raw.id);
//选择当前新增加的节点
tree.getSelectionModel().select(currentNode, true, true);
/* select the newly created record via view*/
/* tree.getView().select(currentNode, true, true); */
//父节点展开
selectedNodeFromStore.expand();
//tree.getView().fireEvent('itemclick', tree, currentNode);
}, scope: this});
感谢和我一起开发的,给我帮助的所有的朋友们,和给予我灵感的乔梁,还有程序员的网站http://stackoverflow.com/, Develop with Pleasure!