AdaptTable for Mantine

Row selection in Mantine

Tick rows one at a time or take the whole page from the header box. The selection is a set of ids rather than a slice of what is rendered, so a row chosen on page one is still chosen while page three is on screen.

Bulk actions run against that set, can ask for confirmation first, and report back through your own handler — the table never performs the write.

Selection is controllable: hand it selectedIds and onSelectionChange and it becomes state your app owns.

Every box is a Mantine Checkbox, indeterminate state included, and the bulk bar that appears above the table is built from Mantine Buttons.

The code

import { DataTable } from "@adapttable/mantine";

export function People({ rows, columns, onArchive }) {
  return (
    <DataTable
      data={rows}
      columns={columns}
      rowKey={(row) => row.id}
      bulkActions={[
        {
          key: "archive",
          label: "Archive",
          confirm: true,
          onAction: (ids) => onArchive(ids),
        },
      ]}
    />
  );
}

Install

pnpm add @adapttable/mantine @adapttable/core @mantine/core @mantine/hooks

The same feature in the other kits

More Mantine features

Reference: selection. More of this kit: AdaptTable for Mantine, or the live demo.