AdaptTable for Ant Design

Rows in Ant Design

A row is more than a record. Pin it under the header or to the floor of the scroll box, drag it by the grip (Space lifts, arrows move, Space drops), and merge cells that share a team so the name is written once.

onRowReorder, onPinnedRowIdsChange, getCellSpan and rowActionsLayout="menu" are the four props this page turns on. Add and delete are callbacks to the host — the table never owns the data.

The grips, the pin actions, the menu and the merged cells are Ant Design.

The grip is antd's own handle column, pin and delete live in an antd Dropdown, and a Team merge is rowspan through antd's onCell hook so the span happens inside antd's Table.

The code

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

export function People({ rows, columns, onReorder, setPinned, spanTeam }) {
  return (
    <DataTable
      data={rows}
      columns={columns}
      rowKey={(row) => row.id}
      rowActionsLayout="menu"
      onRowReorder={onReorder}
      onPinnedRowIdsChange={setPinned}
      getCellSpan={spanTeam}
    />
  );
}

Install

pnpm add @adapttable/antd @adapttable/core antd

The same feature in the other kits

More Ant Design features

Reference: row-pinning, row-reordering, row-spanning. More of this kit: AdaptTable for Ant Design, or the live demo.