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: '没有可显示的记录'
         })
     });

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值