2012-06-08 84 views
5

私は単純に列を合計し、合計を表の下部に表示しようとしています。例を見てみると、これを実行する最良の方法はアグリゲータを使用するように思えます。しかし、私は単純にSlickGrid集計/列の合計の使用

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

何も起こらないで追加したとき。私はグループ化の例に基づいて作業する単純なアグリゲータを得るために何時間も努力してきましたが、グループ化の例は私にとって必要なものを正確に伝えることができないほど複雑です。

編集:代替修正: 他の人に見ても、私はアグリゲータを使用しなかった。データはJavascriptで入手可能で、人生を楽にします。合計はそこから計算できます。

答えて

3

まず、総計を表示するのは小計(所属するグループの小計)のみであることに注意してください。私は総計がまだ実装されていないと考えています...あなたがあなたは以前にあなたが(表示する機能を)それを添付する必要があります

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

第二に行わようにあなたがアグリゲータを宣言し、各グループの - 総、あなたはコードの3エリアを定義する必要があり、ちょうど1

第一ではありませんあなたのコラムにも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

私がこれをしたとき、私はデータビューが見つかりませんでした – H20rider