5

単に列を合計して、テーブルの下部に合計を表示しようとしています。例を見ると、アグリゲーターを使用することがこれを行うための最良の方法のようです。しかし、私が単に追加すると

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

何も起こりません。グループ化の例に基づいて単純なアグリゲーターを機能させるために何時間も努力してきましたが、グループ化の例は複雑すぎて、必要なものを正確に伝えることができません。

編集:代替修正:探している他の人のために、私はアグリゲーターを使用しないことになりました。データはJavascriptで利用できるため、作業がはるかに簡単になります。そこから合計を計算できます。

4

1 に答える 1

4

まず、小計(あなたが持っているグループの小計)の合計作品のみを表示することに注意してください。総計はまだ実装されていないと思います...ただし、それぞれの小計が必要な場合はグループでは、1つだけでなく、3つのコード領域を定義する必要があります

最初に、以前に行ったようにアグリゲーターを宣言します

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

2番目にあなたはそれ(表示する関数)をあなたのコラムにも添付する必要があります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 "";
}

これらの行のいずれかが欠落している場合、何も表示されませんが、これは正常です

于 2013-04-15T14:10:07.190 に答える