Row interactions

Use onRowClicked to respond when a user clicks a row. The handler receives the row data and the original React.MouseEvent, so you can inspect modifier keys, navigate programmatically, or open a detail panel.

Row click: detail panel

Click any row to display its details below the table.

Name
Department
Role
Aria Chen
Engineering
Engineering Lead
Marcus Webb
Product
Product Manager
Priya Kapoor
Design
Senior Designer
Jordan Ellis
Analytics
Data Scientist
Sam Rivera
Engineering
DevOps Engineer
Taylor Brooks
Sales
Account Manager

Rows as navigation links

When rows represent records you navigate to, pass a URL to your router inside onRowClicked. Check e.ctrlKey or e.metaKey to open in a new tab on Ctrl/⌘+click.

For cells that should behave as independent links (email, external URL), set ignoreRowClick: true on the column so clicks there don't also fire onRowClicked.

Use onRowMiddleClicked to handle middle-click (scroll-click). Combined with onRowClicked, you get full NavLink behaviour: left-click navigates in the same tab, middle-click or Ctrl/⌘+click opens in a new tab.

Row navigation: left, middle, and Ctrl/⌘ click

Left-click navigates in the same tab. Middle-click or Ctrl/⌘+click opens in a new tab. The Email column is an independent link.

Name
Department
Role
Email
Aria Chen
Engineering
Engineering Lead
Marcus Webb
Product
Product Manager
Priya Kapoor
Design
Senior Designer
Jordan Ellis
Analytics
Data Scientist
Sam Rivera
Engineering
DevOps Engineer
Taylor Brooks
Sales
Account Manager

Click a row to navigate. Ctrl/⌘+click to open in new tab. Email cells are independent links.

Action buttons in cells

Use button: true on a column to add action controls that fire independently of row clicks. The button prop centers the cell content and suppresses onRowClicked for that column automatically. No need to call e.stopPropagation() manually.

Per-row action buttons

Edit and Delete buttons fire their own handlers. Clicking elsewhere on the row still fires onRowClicked.

Name
Department
Role
Actions
Aria Chen
Engineering
Engineering Lead
Marcus Webb
Product
Product Manager
Priya Kapoor
Design
Senior Designer
Jordan Ellis
Analytics
Data Scientist
Sam Rivera
Engineering
DevOps Engineer
Taylor Brooks
Sales
Account Manager

Action buttons fire independently. Clicking the row itself fires onRowClicked.