In cases where the volume of data is too large for the display area, a maximum number of rows may be defined per page. In these cases, the table will be split across many pages and users will navigate using the pagination element.
Another method is to use infinite scrolling, which loads progressively the next set of rows when the user scrolls to the end or by adding a Load more button to enable the user doing it manually. Prefer using pagination in cases where the user is searching for specific information due to its flexibility as it allows the user to skip straight to the last few sets if required.
Actions may be applied to the row of a table or a group of rows. Grouped actions must be located at the bottom of the table, inside a floating bar. For specific actions on a row, use icon buttons at the end of the row (right). We recommend to use a generic action icon like the ellipsis or vertical ellipsis, that can show all of the available actions by clicking it, with a tooltip, avoiding like this repetitiveness of actions and keeps visual noise to a minimum.
Customizable columns allow the user to personalize the data table according to their preferences. It must be used when there are multiple metrics and data sets involved and when the users have different objectives when using the data table.
The expandable rows are very important on data tables with large amounts of data in a small space, it allows the user to evaluate additional information without losing their context. Expandable action icons must be always visible and placed on the right-hand side of the table.