2012-06-08 19 views
5

Estoy simplemente tratando de sumar una columna y mostrar el total en la parte inferior de la tabla. Al observar ejemplos, parece que usar un agregador es la mejor manera de hacerlo. Sin embargo, cuando simplemente añadir enUsando SlickGrid Agregación/Suma de una columna

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

no pasa nada. He intentado durante horas simplemente obtener un agregador simple que funciona a partir del ejemplo de agrupación pero el ejemplo de agrupación es demasiado complejo para poder decir exactamente lo que necesito.

Editar: Corrección alternativa: Para cualquier otra persona que busca, terminé no utilizando agregadores. Los datos están disponibles en Javascript, lo que hace la vida mucho más fácil. Los totales se pueden calcular a partir de ahí.

Respuesta

3

En primer lugar, tenga en cuenta que mostrar el total de obras solo para el subtotal (el subtotal del grupo que tiene), no creo que el Grand Total esté implementado ... Aunque si lo desea, el sub -total de cada grupo, tiene que definir el área de código 3, no sólo 1

primero se declara el agregador como has hecho con anterioridad

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

segundo que necesita para adjuntarlo (una función para mostrar) a su columna también con groupTotalsFormatter

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

finalmente definir la función para mostrarlo y el código con lo que desea mostrar

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

Si falta alguna de estas líneas, que no verá nada que se muestra y que es normal

+0

Cuando hice esto, obtuve la vista de datos no encontrada – H20rider

Cuestiones relacionadas