`
chun521521
  • 浏览: 281838 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

Ext.grid分组实现

 
阅读更多

Ext中的例子中有Ext.grid.dummyData,在本例中将Ext.grid.dummyData转换为动态获取数据。

Ext.grid.dummyData其实就是一个ArrayStore,具体实现见红色部分

 

 

 

var reader = [
   {name: 'sceneName',mapping: 'sceneName'},
   {name: 'deviceName',mapping: 'deviceName'},
   {name: 'dataId',mapping: 'dataId'},
   {name: 'dataName',mapping: 'dataName'},
   {name: 'dataValue',mapping: 'dataValue'},
   {name: 'createTime',mapping: 'createTime'}
     ];
     var ds = new Ext.data.GroupingStore({
   autoLoad: true,
         proxy: new Ext.data.HttpProxy({ url: projectPath + '/iot/listDataOfToday.do' }),
            reader: new Ext.data.ArrayReader({totalProperty: 'totalProperty', root: 'root'}, reader),
         baseParams: { limit: limit },
            sortInfo:{field: 'dataName', direction: "ASC"},
            groupField:'sceneName'
        });
  var cm = new Ext.grid.ColumnModel([
      new Ext.grid.RowNumberer(), {
          id: 'dataId', dataIndex: 'dataId',header: 'Id', hidden:true
      }, {
          id: 'dataName', dataIndex: 'dataName',header: '数据名称', align: 'left',sortable: true
      }, {
          id: 'dataValue', dataIndex: 'dataValue',header: '数据值',width: 100, align: 'left',sortable: true
      }, {
          id: 'createTime', dataIndex: 'createTime',header: '采集时间',width: 150, align: 'left',sortable: true
      }, {
          id: 'sceneName', dataIndex: 'sceneName',header: '场景名称',width: 120, align: 'left',sortable: true
      }, {
          id: 'deviceName', dataIndex: 'deviceName',header: '设备名称',width: 120, align: 'left',sortable: true
      }
     ]);
  var grid = new Ext.grid.GridPanel({
         id: 'grid-todayData',
         store: ds, cm: cm, sm: new Ext.grid.RowSelectionModel(),
         region:'center', split:true, stripeRows: true,
         view: new Ext.grid.GroupingView({
             forceFit:true,
             groupTextTpl: '{text} ({[values.rs.length]} {[values.rs.length > 1 ? "Items" : "Item"]})'
         }),
         autoExpandColumn: 'dataName',
         columnLines: true, loadMask: { msg: '正在加载数据,请稍侯……' },
         tbar: ['->', '查询:',
          new Ext.app.SearchField({
              paramName: 'queryValue',id: 'queryValue',store: ds,width: 200, emptyText: '请输入数据名称'
          })
         ],
         bbar: new MyPagingToolbar({
             pageSize: limit,store: ds,displayInfo: true,
             displayMsg: '当前 {0} - {1}条 /共 {2}条',emptyMsg: '没有可显示的记录'
         })
     });

分享到:
评论

相关推荐

    Ext grid 简单实例

    Ext Grid是Ext JS库中的一个核心组件,用于展示和操作数据集。在Web应用程序中,它经常被用来作为数据表格,允许用户查看、排序、筛选和编辑数据。在这个"Ext Grid简单实例"中,我们将探讨如何从Web服务提取数据并将...

    Ext Grid表格分组统计

    当我们需要对数据进行分组并同时显示统计信息时,`Ext Grid`提供了`GroupSummary`功能。在这个完整的例子中,我们将深入探讨如何实现这一功能。 首先,我们要创建一个基本的`Ext Grid`配置。这通常包括定义`store`...

    Ext Js权威指南(.zip.001

    Ex4.0共2个压缩包特性,《ext js权威指南》 前 言 第1章 ext js 4开发入门 / 1 1.1 学习ext js必需的基础知识 / 1 1.2 json概述 / 3 ...10.3.5 分组功能:ext.grid.featrue.grouping / 543 10.3.6 分组汇总...

    ext 资源汇总

    EXT.grid.Panel是网格的基础,EXT.grid.column.Column定义了列的属性,EXT.grid.feature.*则包含了各种扩展功能,如行锁定、分组等。 3. **EXT.tree**: EXT.tree主要用于构建层次结构的数据展示,比如目录结构或...

    ext gridpanel多层表头分组小计导出excel与Java后台交互全代码

    该例子实现了ext的gridpanel多层表头+分组+小计以及与Java后台交互的全代码。还有自适应浏览器大小的功能包括导出excel,里面有注释,可能注释不全。分别为group.jsp,totals.jsp页面。

    ext grid数据绑定

    EXT Grid还支持分页、排序、分组等多种高级功能,这使得它成为处理大量数据的理想选择。在实际开发中,结合EXT提供的事件监听和自定义插件,你可以实现更加复杂和个性化的数据操作逻辑。 综上所述,EXT Grid数据...

    Ext3.4.0复杂(多行)表头+锁定多列例子

    在Ext JS 3.4.0版本中,实现这些特性需要利用其提供的GridPanel组件。GridPanel允许开发者自定义头部(header)和列(columns)。对于多行表头,可以通过创建嵌套的HeaderContainer来实现,每个HeaderContainer可以...

    ext学习资料ext学习资料

    `Ext.grid.GridPanel`允许你以表格的形式展示数据,支持排序、分组和分页。例如,以下代码创建了一个简单的Grid,显示了用户ID、用户名和密码: ```javascript var cm = new Ext.grid.ColumnModel([{header: '编...

    ext 双层表格 grid(附带图片)

    EXT JS的Grid组件是实现这一功能的主要组件,它允许开发者以清晰、交互的方式展示复杂的数据结构。以下是对EXT JS双层表格(grid)的知识点详细解析: 1. **EXT JS Grid组件**: EXT JS Grid组件是一个高度可配置...

    给Extjs的GridPanel增加“合计”行

    - 首先,我们需要创建一个继承自EXTJS的`Ext.grid.GridView`的自定义View类。这个类将覆盖默认的渲染逻辑,以便在表格底部插入合计行。 - 在`GridSummary.js`文件中,我们可以定义这个类,并重写`onRender`方法,...

    Ext grid合并表头

    `Ext grid`的这种功能通常通过插件实现,如在给定的资源中提到的`GroupHeaderPlugin`。这个插件允许开发者定义多级表头结构,将相关的列进行组合,形成一个复合的表头单元。 首先,我们来理解`GroupHeaderPlugin`的...

    精通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的...

    EXT piechart,grid,和chart的实例

    在"EXT piechart,grid, and chart的实例"中,我们将深入探讨EXT库中的饼图(piechart)、网格(grid)和图表(chart)这三种关键组件的使用方法。 1. EXT Piechart(饼图) EXT Piechart是一种用于展示数据占比关系...

    多年积攒下来的EXT3.3例子大放送

    3. **报表**:EXTJS提供了创建复杂报表的功能,如使用`Ext.chart.Chart`组件创建图表,或利用`Ext.grid.feature.Grouping`进行数据分组显示。通过这些工具,开发者能够动态地展示和分析数据,形成可视化报告。 4. *...

    一个很好的EXTGRID实例

    6. **扩展性**:EXTGRID支持各种插件和扩展,如工具栏、分组视图、拖放功能、树形网格等,增强功能和交互性。 7. **响应式设计**:EXT JS库具有良好的适应性,EXTGRID可以根据屏幕大小自动调整布局,适合不同设备的...

    Extjs复习笔记(十七)-- 给grid里面的内容分组

    最后,`grouping.html`和`grouping.js`可能是实现上述功能的HTML页面和JavaScript代码,它们将这些配置和逻辑组合在一起,形成一个完整的EXTJS Grid分组示例。 通过以上步骤,你可以在EXTJS Grid中实现内容分组,为...

    关于EXT分页,分组,排序

    var grid = new Ext.grid.GridPanel({ ... viewConfig: { forceFit: true, enableGroupingMenu: true }, ... }); ``` ### 三、EXTJS 排序 排序是数据展示中非常重要的功能之一,EXTJS 提供了灵活的排序...

    精通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的...

    [深入浅出Ext.JS.徐会生&何启伟&康爱媛)第7——13章.pdf

    - **功能扩展**:支持分组、排序、筛选等功能,可通过插件或内置功能实现。 - **事件处理**:可以监听用户在Grid Panel上的操作,如点击行、选择单元格等。 #### Tree Panel - **概述**:Tree Panel用于展示层次...

    ExtJS-3.4.0系列目录

    - `Ext.form.FieldSet`:字段集,用于组织和分组表单元素。 5. **面板及布局** - **面板(Panel)**:作为内容容器,可以包含其他组件。面板支持多种布局方式。 - **布局类**: - `Auto`:自动布局,根据内容...

Global site tag (gtag.js) - Google Analytics