Aggregates e Footer V1
Use footerLabel e aggregate para adicionar um footer de resumo a DyonaGrid.
const columns: DyonaGridColumn[] = [
{
field: 'invoice',
headerName: 'Fatura',
footerLabel: 'TOTAL DA PÁGINA',
},
{
field: 'balance',
headerName: 'Saldo',
format: {type: 'currency', currency: 'ARS'},
aggregate: {type: 'sum'},
},
];
Testar o exemplo completo de DyonaGrid no Lab
footerLabel
footerLabel?: string adiciona texto ao footer de uma coluna. Ele pode ser usado sem um aggregate. Quando uma coluna tem footerLabel e aggregate, o footer exibe Label: valor.
O footer aparece somente quando pelo menos uma coluna de dados visível tem footerLabel ou aggregate.
aggregate
aggregate.type suporta sum, avg, min, max e count.
sum, avg, min e max usam somente valores JavaScript number finitos. Eles ignoram null, undefined, strings, NaN e valores infinitos. Quando não há números válidos, exibem —.
count conta cada valor que não seja null nem undefined. Valores como 0, false e '' contam. Quando não há valores, exibe 0.
count nunca aplica um formatter currency, percent ou number. Os demais tipos de aggregate reutilizam o format declarado da coluna quando aplicável.
Layout e dados remotos
O footer respeita hide/show, reorder e resize. As colunas técnicas de seleção, Actions e delete mantêm células vazias para alinhamento, mas não calculam aggregates. O footer não recebe estilos condicionais nem semaforização.
No modo remoto, a V1 calcula aggregates somente a partir das linhas atualmente carregadas pela grade. Ela não calcula um total global do Data Source. Por isso, uma grade remota paginada deve usar uma etiqueta como TOTAL DA PÁGINA, e não uma que sugira um total global.