表格数据分组:Ext.grid.GroupingView

来源:互联网 发布:证券时报数据宝下载. 编辑:程序博客网 时间:2024/05/16 10:07

表格数据分组:Ext.grid.GroupingView

    博客分类: 
  • ExtJS_3.0
EXT 

1、Ext.grid.GroupingView
      主要配置项:
            enableGroupingMenu:是否在表头菜单中进行分组控制,默认为true
            groupByText:表头菜单中分组控制的菜单文字,默认为'Group By This Field'
  
            enableNoGroups:是否允许用户关闭分组功能,默认为true
            showGroupsText:在表头菜单中启用分组和禁用分组的菜单文字,默认为'Show in Groups'
  
            groupTextTpl:用于渲染分组信息的模板,默认为'{text}',常用的可选值有:
                  text:列标题:组字段值
                  gvalue:组字段的值
                  startRow:组行索引
  
            enableGrouping:是否对数据分组,默认为true
            hideGroupedColumn:是否隐藏分组列,默认为false
            ignoreAdd:在向表格中添加数据时是否刷新表格,默认为false
            showGroupName:是否在分组行上显示分组字段的名字,默认为true
            startCollapsed:初次显示时分组是否处于收缩状态,默认为false
  
      主要方法:
            collapseAllGroups():收缩所有分组行
            expandAllGroups():展开所有分组行
            getGroupId( String value ):根据分组字段值取得组id
            toggleAllGroups( [Boolean expanded] ):切换所有分组行的展开或收缩状态
            toggleGroup( String groupId, [Boolean expanded] ):切换指定分组行的展开或收缩状态

 

 

2、Ext.data.GroupingStore
      groupField:分组字段
 
      groupOnSort:是否在分组字段上排序,默认为false
      remoteGroup:是否远程分组数据,默认为false。如果是远程分组数据,则通过groupBy参数发送分组字段名

 

 

3、范例源码

Js代码  收藏代码
  1. var datas = [[1,"张三",24,"男",new Date(1986,06,09)], [2,"李四",30,"女",new Date(1980,09,13)], [3,"王五",28,"男",new Date(1982,01,10)]];  
  2.               
  3. var person = Ext.data.Record.create([  
  4.     {name: "personId", mapping: 0},  
  5.     {name: "personName", mapping: 1},  
  6.     {name: "personAge", mapping: 2},  
  7.     {name: "personGender", mapping: 3},  
  8.     {name: "personBirth", mapping: 4}  
  9. ]);  
  10.   
  11. var grid = new Ext.grid.GridPanel({  
  12.     title: "GroupingView实例",  
  13.     renderTo: "div1",  
  14.     width: 500,  
  15.     height: 300,  
  16.     frame: true,  
  17.     tbar: [  
  18.         {  
  19.             text: "展开/收缩",  
  20.             iconCls: "search",  
  21.             handler: function(){  
  22.                 var view = grid.getView();  
  23.                 //var groupId = view.getGroupId("男");  
  24.                 //view.toggleGroup(groupId);  
  25.                 view.toggleAllGroups();  
  26.             }  
  27.         }  
  28.     ],  
  29.       
  30.     store: new Ext.data.GroupingStore({  
  31.         reader: new Ext.data.ArrayReader({id:0}, person),  
  32.         data: datas,  
  33.         sortInfo: {field:"personId", direction:"ASC"}, //数据排序  
  34.         groupField: "personGender" //分组字段  
  35.     }),  
  36.     view: new Ext.grid.GroupingView({  
  37.         sortAscText: "升序",  
  38.         sortDescText: "降序",  
  39.         columnsText: "表格字段",  
  40.         groupByText: "使用当前字段进行分组",  
  41.         showGroupsText: "表格分组",  
  42.         groupTextTpl: "{text}(共{[values.rs.length]}条)"  
  43.     }),  
  44.       
  45.     columns: [  
  46.         {id:"personId", header:"编号", width:50, dataIndex:"personId"},  
  47.         {id:"personName", header:"姓名", width:70, dataIndex:"personName"},  
  48.         {id:"personAge", header:"年龄", width:45, dataIndex:"personAge"},  
  49.         {id:"personGender", header:"性别", width:45, dataIndex:"personGender"},  
  50.         {id:"personBirth", header:"出生日期", width:120, dataIndex:"personBirth", renderer:Ext.util.Format.dateRenderer("Y年m月d日")}  
  51.     ]  
  52. });  

  

 

  • 查看图片附件
8 
1 
分享到:  
可编辑表格:Ext.grid.EditorGridPanel | 普通表格范例
  • 2010-05-24 20:46
  • 浏览 12359
  • 评论(1)
  • 分类:Web前端
  • 相关推荐
参考知识库
Hive知识库1928  关注 | 261  收录
Objective-C知识库2196  关注 | 1143  收录
区块链知识库1098  关注 | 90  收录
深度学习知识库4055  关注 | 301  收录
评论
1 楼 heroyanglei 2014-11-19  
你好,我想问一下,使用checkboxmodel多选怎么实现?
0 0
原创粉丝点击