2012-06-08 25 views
5

我只是想總結一列,並顯示在表底部的總和。從看例子來看,使用聚合器似乎是最好的方法。然而,當我簡單地添加在使用SlickGrid Aggregation /列的總和

dataView.setAggregators([ new Slick.Data.Aggregators.Sum("value") ], false);

沒有任何反應。我一直在嘗試幾個小時纔得到一個基於分組示例的簡單聚合器,但分組示例對於我來說太複雜了,無法準確地分辨出我需要什麼。

編輯:替代修正: 對於其他人看,我結束了不使用聚合器。這些數據在Javascript中可用,使生活變得更加簡單。可以從那裏計算總數。

回答

3

首先請注意,只顯示小計的總工作量(小組中的小計),我不相信Grand Total尚未實施...雖然如果您確實希望子-total每個組的,你必須定義3個區域的代碼,不只是1

首先你宣佈像你以前做的

dataView.setAggregators([ new Slick.Data.Aggregators.Sum("value") ], false); 

第二,你需要安裝(顯示功能)的聚合到你的專欄以及groupTotalsFormatter

var columns = [ 
    ... 
    {id: "cost", name: "Cost", field: "cost", width: 90, sortable: true, groupTotalsFormatter: sumTotalsFormatter} 
]; 

最後定義函數要顯示

function sumTotalsFormatter(totals, columnDef) { 
    var val = totals.sum && totals.sum[columnDef.field]; 
    if (val != null) { 
    return "total: " + val; 
    } 
    return ""; 
} 

如果缺少任何這些線路的東西,以顯示它和代碼,你將不會看到任何顯示,這是正常的

+0

當我這樣做時,我沒有找到dataview – H20rider