2012-06-08 19 views
5

Sto semplicemente cercando di sommare una colonna e visualizzare il totale nella parte inferiore della tabella. Osservando gli esempi sembra che l'utilizzo di un aggregatore sia il modo migliore per farlo. Tuttavia quando ho semplicemente aggiungo inUtilizzo di Aggregazione SlickGrid/Somma di una colonna

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

non succede nulla. Ho cercato per ore di ottenere un semplice aggregatore basato sull'esempio di raggruppamento, ma l'esempio di raggruppamento è troppo complesso per essere in grado di dire esattamente ciò di cui ho bisogno.

Modifica: Correzione alternativa: Per chiunque altro, ho finito per non utilizzare gli aggregatori. I dati sono disponibili in Javascript, il che rende la vita molto più semplice. I totali possono essere calcolati da lì.

risposta

3

Prima di tutto tieni presente che la visualizzazione del totale funziona solo per il sub-totale (il sub-totale del gruppo che hai), non credo che il totale complessivo sia ancora implementato ... Anche se vuoi il sub -Totale di ogni gruppo, è necessario definire 3 zona di codice, non solo 1

prima si dichiara l'aggregatore come in precedenza fatto

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

secondo è necessario allegare (una funzione per visualizzare) alla tua colonna pure con groupTotalsFormatter

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

finalmente definire la funzione per visualizzarlo e il codice con quello che si desidera visualizzare

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

Se ti manca una di queste righe, non si vedrà nulla visualizzato e che è normale

+0

Quando l'ho fatto, non ho trovato la dataview – H20rider

Problemi correlati