日期:2014-05-16  浏览次数:20445 次

Extjs中grid添加合计行
//合计当前页数据

    function GridSum(grid)
   {
            var sum1 = 0; //存储第一个列的合计值
             var sum2 = 0; //存储第二个列的合计值
                                      //...有几个列需要合计就声明几个变量                                
             grid.store.each(function(record){              //函数grid.store.each(record))相当于一个for循环,遍历整个record
              sum1 += Number(record.data.money1); //把money1列下面的所有值进行加和运算
              sum2 += Number(record.data.money2); //把money2列下面的所有值进行加和运算
          });     
       var p = new Ext.data.Record(
         {    
                  money1:sum1,  //把money1列与合计后得到的值对应起来
                  money2:sum2   //把money2列与合计后得到的值对应起来  
         }
         );                   
                grid.store.insert(0, p);// 插入到当前页的第一行
               //grid.store.insert(grid.getStore().getCount(), p);  //插入到当前页的最后一行,函数 grid.getStore().getCount()用来获得当前页的记录行数

  }
   //合计函数End

             // 在Store的load事件被触发后,调用合计函数
             grid.getStore().on('load', function() {

             GridSum(grid.getGrid());//调用合计函数

      });