`
raymond.chen
  • 浏览: 1445785 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

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

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、范例源码

var datas = [[1,"张三",24,"男",new Date(1986,06,09)], [2,"李四",30,"女",new Date(1980,09,13)], [3,"王五",28,"男",new Date(1982,01,10)]];
  			
var person = Ext.data.Record.create([
	{name: "personId", mapping: 0},
	{name: "personName", mapping: 1},
	{name: "personAge", mapping: 2},
	{name: "personGender", mapping: 3},
	{name: "personBirth", mapping: 4}
]);

var grid = new Ext.grid.GridPanel({
	title: "GroupingView实例",
	renderTo: "div1",
	width: 500,
	height: 300,
	frame: true,
	tbar: [
		{
			text: "展开/收缩",
			iconCls: "search",
			handler: function(){
				var view = grid.getView();
				//var groupId = view.getGroupId("男");
				//view.toggleGroup(groupId);
				view.toggleAllGroups();
			}
		}
	],
	
	store: new Ext.data.GroupingStore({
		reader: new Ext.data.ArrayReader({id:0}, person),
		data: datas,
		sortInfo: {field:"personId", direction:"ASC"}, //数据排序
		groupField: "personGender" //分组字段
	}),
	view: new Ext.grid.GroupingView({
		sortAscText: "升序",
		sortDescText: "降序",
		columnsText: "表格字段",
		groupByText: "使用当前字段进行分组",
		showGroupsText: "表格分组",
		groupTextTpl: "{text}(共{[values.rs.length]}条)"
	}),
	
	columns: [
		{id:"personId", header:"编号", width:50, dataIndex:"personId"},
		{id:"personName", header:"姓名", width:70, dataIndex:"personName"},
		{id:"personAge", header:"年龄", width:45, dataIndex:"personAge"},
		{id:"personGender", header:"性别", width:45, dataIndex:"personGender"},
		{id:"personBirth", header:"出生日期", width:120, dataIndex:"personBirth", renderer:Ext.util.Format.dateRenderer("Y年m月d日")}
	]
});

  

 

  • 大小: 37.1 KB
8
1
分享到:
评论
1 楼 heroyanglei 2014-11-19  
你好,我想问一下,使用checkboxmodel多选怎么实现?

相关推荐

    深入浅出ExtJS第2版

    Ext.grid.GroupingView 68 3.14 可拖放的表格 69 3.14.1 拖放改变表格的大小 69 3.14.2 在同一个表格里拖放 70 3.14.3 表格之间的拖放 72 3.14.4 表格与树之间的拖放 73 3.15 Grid与右键菜单 73 3.16 本章小...

    jq-extgrid表格插件

    - **分组**:jq-extgrid允许对数据进行分组,将具有相同属性的数据聚合在一起,提供更清晰的数据视图。 - **改变列宽**:用户可以根据需要动态调整列宽,以适应不同屏幕尺寸或显示需求。 - **table转grid**:jq-...

    精通JS脚本之ExtJS框架.part1.rar

    9.5.2 Ext.grid.GroupingView的配置操作 9.6 可拖放的表格 9.6.1 拖放改变表格的大小 9.6.2 在同一个表格里拖放 9.6.3 表格之间的拖放 9.6.4 表格与树之间的拖放 第10章 设计树状结构布局 10.1 TreePanel的...

    精通JS脚本之ExtJS框架.part2.rar

    9.5.2 Ext.grid.GroupingView的配置操作 9.6 可拖放的表格 9.6.1 拖放改变表格的大小 9.6.2 在同一个表格里拖放 9.6.3 表格之间的拖放 9.6.4 表格与树之间的拖放 第10章 设计树状结构布局 10.1 TreePanel的...

    extjs3合并表头 rowspan

    在ExtJS 3中,如果你需要合并表头,你可能会使用`Ext.grid.GroupingView`或自定义的视图类。表头合并通常涉及到设置特定的配置选项和处理渲染过程。以下是一些关键知识点: 1. **GroupingView**: 这是ExtJS 3中用于...

    ExtJS基础教程.pdf

    4. **表格类**:包括网格面板(GridPanel)、编辑网格面板(EditorGridPanel)、属性网格(PropertyGrid)、视图(View)、分组视图(GroupingView)、列模型(ColumnModel)和选择模型(SelectionModel),支持复杂的数据展示和...

Global site tag (gtag.js) - Google Analytics