Ext4使用总结(六)树的动态加载,分支的刷新

对于Ext4的树,与Ext.grid.Panel是属于同一个父类Ext.panel.Table,所有有树的有许多的基本特性可以参照Table和grid来学习,当然树也有自己的特性。如下图:



在树的动态加载,有如下配置:

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!
  • 大小: 9.9 KB
发布了81 篇原创文章 · 获赞 4 · 访问量 5万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览