Row selection

A checkbox column, with stable ids so a selection survives paging.

Reference
Client
Role
Status
Amount
PRJ-001
Riverside Studio
Designer
Confirmed
$180
PRJ-002
Northgate Labs
Developer
Pending
$240
PRJ-003
Harbour Media
Copywriter
Confirmed
$150
PRJ-004
Eastfield Group
Designer
Completed
$210
PRJ-005
Southbank Digital
Consultant
Pending
$320
<DataTable.Root
	columns={[
		dataTableSelectionColumn<Project>({
			selectAllLabel: "Select all projects",
			selectRowLabel: (project) => `Select ${project.reference}`,
		}),
		...columns,
	]}
	data={projects}
	enableRowSelection
	getRowId={(project) => project.reference}
/>;

getRowId is what makes a selection survive pagination — without it rows are keyed by index, so page 2 "inherits" page 1's ticks.