Lumeo

PivotGrid

A cross-tab grid that pivots flat data into a row hierarchy × columns × aggregated measures — like an Excel PivotTable.

When to Use

  • Summarize transactional rows by one or more dimensions — e.g. sales by region and year.
  • Compare a measure (sum, average, count, min, max) across categories at a glance.
  • Give analysts a collapsible, subtotalled cross-tab without wiring up a full BI tool.
  • Reach for DataGrid instead when users need to see, sort and edit the raw rows themselves.
RegionFY 2023FY 2024Grand Total
RevenueRevenueRevenue
APAC$64,000$120,000$184,000
Americas$260,000$229,000$489,000
EMEA$160,000$164,000$324,000
Grand Total$484,000$513,000$997,000
RegionFY 2023FY 2024Grand Total
RevenueDealsRevenueDealsRevenueDeals
APAC$64,0001$120,0002$184,0003
Americas$260,0003$229,0003$489,0006
EMEA$160,0002$164,0002$324,0004
Grand Total$484,0006$513,0007$997,00013

Click a region row to collapse its countries; the subtotal stays visible.

RegionCountryFY 2023FY 2024Grand Total
RevenueRevenueRevenue
$64,000$120,000$184,000
India$0$41,000$41,000
Japan$64,000$79,000$143,000
APAC Total$64,000$120,000$184,000
$260,000$229,000$489,000
Brazil$0$33,000$33,000
Canada$42,000$51,000$93,000
USA$218,000$145,000$363,000
Americas Total$260,000$229,000$489,000
$160,000$164,000$324,000
Germany$88,000$96,000$184,000
UK$72,000$68,000$140,000
EMEA Total$160,000$164,000$324,000
Grand Total$484,000$513,000$997,000

Two column-field levels nest into a tree of headers, with the measure-name row at the bottom.

RegionCountryFY 2023FY 2024Grand Total
Q1Q2Q3Q4Q1Q2Q3Q4
RevenueRevenueRevenueRevenueRevenueRevenueRevenueRevenueRevenue
$0$0$0$64,000$41,000$79,000$0$0$184,000
India$0$0$0$0$41,000$0$0$0$41,000
Japan$0$0$0$64,000$0$79,000$0$0$143,000
APAC Total$0$0$0$64,000$41,000$79,000$0$0$184,000
$120,000$42,000$98,000$0$145,000$51,000$0$33,000$489,000
Brazil$0$0$0$0$0$0$0$33,000$33,000
Canada$0$42,000$0$0$0$51,000$0$0$93,000
USA$120,000$0$98,000$0$145,000$0$0$0$363,000
Americas Total$120,000$42,000$98,000$0$145,000$51,000$0$33,000$489,000
$88,000$72,000$0$0$96,000$0$68,000$0$324,000
Germany$88,000$0$0$0$96,000$0$0$0$184,000
UK$0$72,000$0$0$0$0$68,000$0$140,000
EMEA Total$88,000$72,000$0$0$96,000$0$68,000$0$324,000
Grand Total$208,000$114,000$98,000$64,000$282,000$130,000$68,000$33,000$997,000

API Reference

PivotGrid<TItem>

Property Type Default Description
ItemsIEnumerable<TItem>?nullThe flat source rows to pivot.
RowFieldsIReadOnlyList<PivotField<TItem>>[]Fields forming the (nested) row hierarchy, outermost first.
ColumnFieldsIReadOnlyList<PivotField<TItem>>[]Fields forming the (nested) column hierarchy, outermost first. The header renders one row per level plus a final row for the measure names. Column subtotals are not produced — only row subtotals; the trailing grand-total column aggregates across all columns.
MeasuresIReadOnlyList<PivotMeasure<TItem>>[]The value fields and their aggregation (Sum / Average / Count / Min / Max).
ShowRowGrandTotalbooltrueAdds a trailing grand-total column aggregating across all column groups.
ShowColumnGrandTotalbooltrueAdds a bottom grand-total row aggregating across all rows.
ShowSubtotalsbooltrueRenders a subtotal row under each non-leaf row group.
CollapsiblebooltrueLets users collapse/expand a row group; collapsed groups show only their subtotal.
CompactboolfalseTighter cell padding.
GrandTotalLabelstring"Grand Total"Label used for the grand-total row and column.
EmptyContentRenderFragment?nullShown when Items is empty.
OnCellClickEventCallback<PivotCellClickArgs>Invoked when a data cell is clicked; carries the row keys, column keys, measure header and the underlying rows for drill-down.

PivotField<TItem>

Member Type Description
HeaderstringHeader label for this field level.
SelectorFunc<TItem, object?>Extracts the grouping value from a source row.
FormatFunc<object?, string>?Optional formatter for the displayed group label.
SortComparerIComparer<object?>?Optional custom ordering of the distinct values (natural order otherwise).

PivotMeasure<TItem>

Member Type Description
HeaderstringHeader label for the measure.
ValueFunc<TItem, decimal>Extracts the numeric value to aggregate.
AggregatePivotAggregateSum (default), Average, Count, Min or Max.
FormatFunc<decimal, string>?Optional formatter for the aggregated number.
  • DataGrid — Enterprise grid with grouping, sorting, inline edit and export over raw rows.
  • DataTable — Lightweight sortable/paginated table for flat data.
  • Table — The styled HTML table primitive PivotGrid is built on.
  • Chart — Visualise the same aggregates as bars, lines or a heatmap.