ExtJs Grid合计

在做报表数据时经常需要添加合计行,Ext自带的gridpannel对合计支持得不好,我们通常会自定义JS函数来统计或者通过服务器统计好然后传到客户端,下面我们就来看看如何使用JS来做grid的统计行:

Ext.define('Revenue', {
    extend: 'Ext.data.Model',
    fields: ['key',{name:'publishdate'},'name','subname','modelname', 'successpaycount']
});
function gridSum(grid)
{
 var sum1 = 0; 
 var sum2 = 0;
 var sum3 = 0;
 var sum4 = 0;
 var sum5 = 0;
 
 grid.store.each(function(record){   
  sum1 += Number(record.data.abc); 
 });      
 var p = Ext.create('Revenue',{
  key:'',
  publishdate:'',
  name:'',
  subname:'',
  modelname:'合计:',
  successpaycount:sum1
 });                    
 //grid.store.insert(0, p);// 插入到当前页的第一行 
 if(grid.getStore().getCount()>0){
  grid.store.insert(grid.getStore().getCount(), p);  //插入到当前页的最后一行,函数 grid.getStore().getCount()用来获得当前页的记录行数 
 }
}


紧接着需要定义何时执行该统计函数,只需要在初始化结束后加上下面的内容就OK 了

me.grid.getStore().on('load', function() {
          gridSum(me.grid);//
});


版权声明:本文为toweryangtao原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。