AdaptTable for Radix
Spreadsheet formulas in Radix
A formula column is a column nobody wrote code for: type =ROUND(budget * 0.15, 0) and the table computes it per row, sorts it, filters it and exports it like any other column.
The engine covers arithmetic, comparison, string joins, IF, and the aggregate functions a footer needs. A bad reference reports in the cell that caused it rather than blanking the table, and a circular reference reports #CYCLE! instead of recursing.
Formula columns serialize to the URL with everything else, so a derived column travels in the same link as the filters it sits beside.
The engine returns ordinary column definitions, so a computed column renders in the same Table.Cell as a declared one and an error value is simply the cell's text.
The code
import { DataTable } from "@adapttable/radix";
import { buildFormulaColumns } from "@adapttable/core/formula";
const derived = buildFormulaColumns([
{
key: "margin",
header: "Margin",
formula: "=ROUND(budget * 0.15, 0)",
},
{
key: "tag",
header: "Tag",
formula: '=UPPER(team) & " · " & role',
},
]);
export function People({ rows, columns }) {
return (
<DataTable
data={rows}
columns={[...columns, ...derived]}
rowKey={(row) => row.id}
/>
);
}
Install
pnpm add @adapttable/radix @adapttable/core @radix-ui/themes
The same feature in the other kits
- Spreadsheet formulas in Mantine — Rounded, friendly, filled controls
- Spreadsheet formulas in MUI — Material elevation, uppercase actions
- Spreadsheet formulas in Chakra — Soft teal, generous radius
- Spreadsheet formulas in Ant Design — Compact, tinted header, crisp
- Spreadsheet formulas in Base UI — Unstyled primitives, blue accent
- Spreadsheet formulas in shadcn — Monochrome, ring focus
- Spreadsheet formulas in Tailwind — Unstyled — your own classes
More Radix features
- Filtering in Radix — Kit-native operators, date ranges, checklists, an AND/OR tree, chips.
- Column management in Radix — Show, hide, reorder, pin and resize — from a menu you did not write.
- Column groups in Radix — Spanning headers that collapse to a stub, a kept child, or a custom cell.
- Row selection in Radix — A set of ids that survives paging, with bulk actions over it.
- Rows in Radix — Pin, drag-reorder, merge cells, and a 3-dot menu per row.
- Inline cell editing in Radix — Kit-native editors in the cell; every write goes through your handler.
- Row grouping in Radix — Nested group headers with counts, subtotals, footers and collapse state.
- Nested tables in Radix — A real table under a row — same engine, own columns, own keys.
- Export and print in Radix — CSV, XLSX and PDF from one seam — plus a real print layout.
- Large datasets in Radix — 100k rows, 40 columns, virtualized rows and columns, sticky chrome.
- Tree data in Radix — Rows that contain rows — nesting, chevrons, keyboard traversal.
- Mobile cards in Radix — Every row becomes a card on phones. Automatically, with the same state.
- Pivot tables in Radix — Rows down the side, dimensions across the top, subtotals at every level.
- Saved views in Radix — Name an arrangement, share it as a link, manage the list in place.
- Right-to-left Radix data table — Arabic strings, a flipped axis, and a popover that opens from the right edge.
- Live updates in Radix — Rows change while you read them. Sort and selection hold.
- Accessible Radix data table — Arrow-key focus, a visible ring, and every announcement shown as text.
Reference: formulas. More of this kit: AdaptTable for Radix, or the live demo.