Ext.onReady(function () {

               Ext.define('personInfo', {

                   extend: 'Ext.data.Model',

                   fields: ['name', 'salary','country']

               });

               var datas = [//memory类型的Proxy中有一个配置项data,对应的值是可选的纪录的数组,用数组定义一条纪录中的各个item

                   ['刘一', 2500,'China'],//因此就是利用了二维数组来定义。JS中定义数组有两种方式,利用Array定义和字面值定义,字面值

                   ['黄小珠', 1500,'China'],//即是利用[]来定义数组变量值与Object变量的定义方式利用{}来定义是不同的。

                   ['李凡达', 2000, 'USA'],

                  ['柳小刀',3000,'India'],//

                ['杨宇',2000,'French']//





               ];

               var firstStore = Ext.create('Ext.data.Store', {

                   storeId: 'store1',

                   groupField:'country',

                   model: 'personInfo',

                   proxy: {

                       type: 'memory',

                       data: datas,

                       reader: 'array'

                   },

                   autoLoad: true

               });

               var grid = Ext.create('Ext.grid.Panel', {

                   renderTo: Ext.getBody(),

                   width: 400,

                   height: 400,

                   title: '表格分组特性',

                   frame: true,

                   store: Ext.data.StoreManager.lookup("store1"),

                   // selModel: { selType: 'checkboxmodel' },

                   //multiSelect: true,

                   tbar: [

                       {

                           text: '表格分组特性',

                           handler: function () {

                               var msg = '';

                               var msg1 = { hobby: "fish" };

                               var rows = grid.getSelectionModel().getSelection();//返回值是Ext.data.Model[]

                               for (var i = 0; i < rows.length; i++) {

                                   msg = msg + rows[i].get('name') + '\n';//rows[i]是某条记录,利用Model的get函数取出记录中

                               }//指定字段的值。

                               //alert(msg);

                           }

                       }],

                   features: [Ext.create('Ext.grid.feature.Grouping', {

                       groupByText: '用本字段分组', showGroupsText: '显示分组',

                       groupHeaderTpl: '国籍:{name} ({rows.length})', startCollapsed: true//设置初始渲染页面时收缩分组

                       //groupHeaderTpl中[name}即是分组根据字段名。rows.length就是每个分组中记录个数

                   })],





























                   columns: [

                     {

                         header: '姓名', dataIndex: 'name', width: 100, sortable: true





                     },

                    {

                        header: '薪资', dataIndex: 'salary', flex: 1





                    },

                    {header:'国籍',dataIndex:'country',flex:1}

                   ]

               });





           });

Grid分组特性的更多相关文章

  1. Grid分组汇总

    Ext.onReady(function () {                Ext.define('personInfo', {                    extend: 'Ext. ...

  2. ExtJS4.2学习(11)——高级组件之Grid

    大纲: 1.首先,搭建起来一个最基础的Grid组件: 2.其次,利用前边MVC架构将代码重构: 3.再者,介绍下Grid的一些特性. 一.搭建基础的Grid组件 在文章的开始,我们首先简单的搭建一个G ...

  3. Extjs grid 组件

    表格面板类Ext.grid.Panel 重要的配置参数 columns : Array 列模式(Ext.grid.column.Columnxtype: gridcolumn) 重要的配置参数 tex ...

  4. Asp.net Core的Swagger接口根据模块、版本分组

    近期一直在学习Asp.net Core,微软的文档太难看,都是英文翻译过来的,很不友好,感谢这个博客,从壹开始前后端分离[ .NET Core2.0 +Vue2.0 ],让我入门了,刚学到这个Swag ...

  5. 零元学Expression Blend 4 - Chapter 8 用实例了解布局容器系列-「Grid」

    原文:零元学Expression Blend 4 - Chapter 8 用实例了解布局容器系列-「Grid」 本系列将教大家以实做案例认识Blend 4 的布局容器,此章介绍的是Blend 4 里的 ...

  6. oracle之分组函数

    分组函数 5.1 最重要的五个分组函数 sum(); avg(); count(); max(); min(). 数值类型可以使用所有组函数SQL> select sum(sal) sum, a ...

  7. .NET Core Swagger 的分组使, 以及相同Action能被多个分组公用,同时加载出尚未分组的数据出来

    1.本文章参考 点击链接跳转 改写的 一对多分组模式.需要一对一的可以参考 2.本文主要讲的是 一对多 分组公用, 同时把尚未分组的加载出来 3.效果演示GIF图: 具体操作代码如下: 1.在项目创建 ...

  8. 【6年开源路】海王星给你好看!FineUI v4.0正式版暨《FineUI3to4一键升级工具》发布!

    去年10-28号,我发布了一篇文章<海王星给你好看!FineUI v4.0公测版发布暨<你找BUG我送书>活动开始>,标志着FineUI开始向4.0版本迈进.经过4个月3个公测 ...

  9. Operating System Memory Management、Page Fault Exception、Cache Replacement Strategy Learning、LRU Algorithm

    目录 . 引言 . 页表 . 结构化内存管理 . 物理内存的管理 . SLAB分配器 . 处理器高速缓存和TLB控制 . 内存管理的概念 . 内存覆盖与内存交换 . 内存连续分配管理方式 . 内存非连 ...

随机推荐

  1. openstack做镜像

    virt-install --virt-type kvm --name windows2008 --ram 1024 --cdrom /opt/windows-2008-x86_64.iso --di ...

  2. wpf程序热键的一个类

    using System; using System.Collections.Generic; using System.Linq; using System.Runtime.InteropServi ...

  3. 社保系列7《PSAM卡》

    PSAM卡用于商户POS.网点终端.直联终端等端末设备上,负责机具的安全控管.PSAM卡具有一定的通用性.经过个人化处理的PSAM卡能在不同的机具上使用. PSAM卡支持多级发卡的机制,各级发卡方在卡 ...

  4. swift学习初步(四)-- 函数

    好了,让我们开始接着前几天写的系列博客开始今天的这篇博客.在swift里面如果你需要定义一个方法的话,你需要使用关键字:func,请看下面的这段代码: func sayHello(name:Strin ...

  5. centos 安装phantomjs

    sudo yum install gcc gcc-c++ make git openssl-devel freetype-devel fontconfig-devel git clone git:// ...

  6. 2.2孙鑫C++

    1.继承 动物有 吃 睡 呼吸的方法 当然 鱼也有    不用重复再定义 1)public 那里都可以访问 #include <iostream.h> class Animal //类 基 ...

  7. vc++编程之在程序中加入网址链接

    在vc++对话框编程中,我们处于某种需要(介绍自己的软件或者自己的博客)可以在对话框上增加一个网址链接,用户只要一点击,就进入了相应的网页,我在此演示下如何完成. 1 打开编译器,我们新建一个基于对话 ...

  8. Java通过反射机制修改类中的私有属性的值

    首先创建一个类包含一个私有属性: class PrivateField{ private String username = "Jason"; } 通过反射机制修改username ...

  9. Week8 软件规格说明书

    1.概述 本项目组所开发的软件为一个基于Android的手机端的时间管理软件,主要功能为时间管理软件,可以用于管理待办事项,记录一些需要提醒的信息等.有事件提醒.与Google账户同步.课程表等功能. ...

  10. 随堂作业——到底有几个“1”(C++)

    一.设计思路 在课堂上讨论的时候,老师提出的思路是利用之前的结果计算出比它更大的数字的“1”.但是我不是这么想的,我是把输入的正整数每位上的数都分解出来计算.如abc,就先算c,再加上b,最后再加上a ...