• Grid分组汇总


       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(),
                        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') + ' ';//rows[i]是某条记录,利用Model的get函数取出记录中
                                   }//指定字段的值。
                                   //alert(msg);
                               }
                           }],
                       features: [Ext.create('Ext.grid.feature.GroupingSummary', {
                           groupByText: '用本字段分组', showGroupsText: '显示分组',
                           groupHeaderTpl: '国籍:{name} ({rows.length})', startCollapsed: true//设置初始渲染页面时收缩分组
                           //groupHeaderTpl中[name}即是分组根据字段名。rows.length就是每个分组中记录个数
                       })],














                       columns: [
                         {
                             header: '姓名', dataIndex: 'name', 100, sortable: true,summaryType:'count',
                             summaryRenderer: function (value) { return "人数为:"+value}


                         },
                        {
                            header: '薪资', dataIndex: 'salary', flex: 1, summaryType: 'average',
                            summaryRenderer: function (value) { return "平均工资是:"+value}


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


               });
  • 相关阅读:
    ::selection
    为什么要web语义化
    label的for属性与inputde的id元素绑定
    a 标签
    IE6 双倍距BUG
    css样式书写顺序
    清除浮动 .clearfix
    Unity利用AnimationCurve做物体的各种运动
    Error: unknown argument: '-websockets'
    关闭VAX的拼写检查_解决中文红色警告问题
  • 原文地址:https://www.cnblogs.com/lz3018/p/4579792.html
Copyright © 2020-2023  润新知