sum slickgrid aggregation aggregator

Uso de Agregación SlickGrid/Suma de una columna



aggregation aggregator (1)

Simplemente estoy 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 agrego

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 usando 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í.


En primer lugar, tenga en cuenta que al mostrar el total de obras solo para el subtotal (el subtotal del grupo que tiene), no creo que el Gran Total se haya implementado todavía ... Aunque si quiere el subtotal de cada uno grupo, debe definir 3 áreas de código, no solo 1

Primero declaras el agregador como lo hiciste anteriormente

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

Segundo, debe 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 defina la función para mostrarla y codificarla 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 te falta alguna de estas líneas, no verás nada mostrado y eso es normal