`
chen2991101
  • 浏览: 37896 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

extjs4 treeGrid使用

阅读更多

        项目有一个需求是展示一个部门信息,但是这个部门下面有可能还存在子部门,用一般的trrPanel感觉效果不是太好,在官方的api上面找到treeGrid控件正好可以满足需求,但是悲催的是把api里面的代码拷到程序里面后没有效果,根据反复的修改终于可以用了:

Ext.define('SimpleTasks.view.organize.DeptGrid', {  
            extend : 'Ext.tree.Panel',  
            xtype : 'DeptGrid',  
            rootVisible : false,  
            id : "deptGrid",  
            collapsible : false,// 取消折叠按钮  
            useArrows : true,  
            rootVisible : false,  
            multiSelect : false,  
            singleExpand : true,  
            store : 'organize.DeptGrids',  
            columns : [{  
                        xtype : 'treecolumn',// treecolumn只用放在需要点击展开的列上面(api上面每个列都放了这个)  
                        text : '部门名',  
                        dataIndex : 'name',  
                        flex : 1  
                    }, {  
                        text : '部门领导',  
                        dataIndex : 'leaderName',  
                        flex : 1  
                    }, {  
                        text : '部门人数',  
                        dataIndex : 'employeeCount',  
                        flex : 1  
                    }]  
        });  

      store也有些不一样

Ext.define('SimpleTasks.store.organize.DeptGrids', {  
            extend : 'Ext.data.TreeStore',  
            model : 'SimpleTasks.model.organize.Department',  
            proxy : {  
                type : 'ajax',  
                url : Ext.dp + '/organize/queryDept.do'  
            },  
            folderSort : true  
        });  

        这个store没法取消自动加载,网上的解决办法是在store里面的beforeload事件上面作处理

 

        关于后台需要返回的json格式,官方的api给出的返回格式是{"text":".","children": []}这样的格式。但是我使用的时候就把后台的list集合转换成json格式传到前台就能显示,不需要去拼成api给出的那个格式

0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics