Aggregates y Footer V1
Usá footerLabel y aggregate para agregar un footer de resumen a DyonaGrid.
const columns: DyonaGridColumn[] = [
{
field: 'invoice',
headerName: 'Factura',
footerLabel: 'TOTAL PÁGINA',
},
{
field: 'balance',
headerName: 'Saldo',
format: {type: 'currency', currency: 'ARS'},
aggregate: {type: 'sum'},
},
];
Probar el ejemplo completo de DyonaGrid en el Lab
footerLabel
footerLabel?: string agrega texto al footer de una columna. Puede usarse sin un aggregate. Cuando una columna tiene footerLabel y aggregate, el footer muestra Label: valor.
El footer aparece solamente cuando al menos una columna de datos visible tiene footerLabel o aggregate.
aggregate
aggregate.type soporta sum, avg, min, max y count.
sum, avg, min y max usan solamente valores JavaScript number finitos. Ignoran null, undefined, strings, NaN y valores infinitos. Si no existen números válidos, muestran —.
count cuenta cada valor que no sea null ni undefined. Valores como 0, false y '' sí cuentan. Cuando no hay valores, muestra 0.
count nunca aplica un formatter currency, percent o number. Los demás tipos de aggregate reutilizan el format declarativo de la columna cuando corresponde.
Diseño y datos remotos
El footer respeta hide/show, reorder y resize. Las columnas técnicas de selección, Actions y delete conservan celdas vacías para la alineación, pero no calculan aggregates. El footer no recibe estilos condicionales ni semaforización.
En modo remoto, V1 calcula aggregates solamente a partir de las filas actualmente cargadas por la grilla. No calcula un total global del Data Source. Por eso, una grilla remota paginada debe usar una etiqueta como TOTAL PÁGINA, y no una que implique un total global.