我查出数据后,想在最后一行加上一行总计,统计 列数据 这个该怎么加呢?
我看过ext 的例子exanmples 的grid 里有个totals.js的例子 里面
它用了一个插件 plugins: summary, 
var summary = new Ext.ux.grid.GroupSummary();
 var grid = new xg.EditorGridPanel({
        ds: new Ext.data.GroupingStore({
            reader: reader,
// use local data
            data: app.grid.dummyData,
            sortInfo: {field: 'due', direction: 'ASC'},
            groupField: 'project'
        }),
        .......
它是用分组的 
我查出来不需要分组 只要在最后一行再加 个统计的 这个该怎么写呢?
有没有类似例子呢?

解决方案 »

  1.   

    把你EditorGridPanel里的ds换成不分组的store,如JsonStore。
    或者你在store的records中push一个自定义的record,其为你的合计数值
      

  2.   

    grid.store.on("load",function(){
             
           if(store.getRange().length>0)
           {
    // 定义你要把你合计的数据放在哪些列的下面
               var newRecord=new Ext.data.Record.create([
            {name:"listType"},
            {name:"chargeAmount"},
            {name:"returnAmount"},
            {name:"sum"}
            ])
            var records=store.getRange();
            var chargeAmountSum=0.0;
            var returnAmountSum=0.0;
            var lastSum=0.0;
            for(var i=0;i<records.length;i++)
            {  
             //计算过程
            
             chargeAmountSum+=records[i].get("chargeAmount");
             returnAmountSum+=records[i].get("returnAmount");
             if(i==parseInt(records.length)-1)
             {
             lastSum=records[i].get("sum");
             }
            
            }
    //给上面定义的东西赋值
            var p = new newRecord({
             listType:"<b><font style='color:green;font-size:10px'>合计</font></b>",
             chargeAmount:chargeAmountSum,
             returnAmount:returnAmountSum,
             sum:lastSum
            })
    //添加到最后1行 
            grid.stopEditing();
            store.insert(grid.store.getCount(),p);
            grid.startEditing(0,0);
           }
       })
    //注意:在你进行增、删、该 操作后 只要调用store.reload()方法就可以自动计算了
      

  3.   

    grid没有这个方法啊。
    grid.startEditing(0,0);
    shotyou你是怎么做的。