Skip to main content

DataTable

Use DataTable to display and manage datasets with rich interactions such as sorting, filtering, pagination, and row selection.

When to use

  • When users need to sort, filter, paginate, or interact with large or complex datasets.

When not to use

  • For a purely visual representation of tabular data without significant interactivity such as sorting or pagination. Use SimpleTable instead.

Visual configuration

DataTable supports configuration for its visual look, data density, and data point separation.

Container

Contained

  • Use the contained variant for most cases, and especially if it is prominent in the visual hierarchy of the view.

An example of a DataTable component with the contained setting.

An example of a DataTable component with the contained setting.

Uncontained

  • Always use the uncontained variant when it's the only element inside a Surface.
  • Use for a subtler appearance when the table is secondary in the visual hierarchy of the view.

An example of a DataTable component with the uncontained setting.

An example of a DataTable component with the uncontained setting.

Data density

DataTable comes with three density options that control the standard row height and whitespace in a cell.

Default

  • Use the default row density for datasets where users need to process and scan the information shown.

An example of a DataTable component with the default density setting.

An example of a DataTable component with the default density setting.

Condensed

  • Use the condensed row density to show more information in smaller areas and compact layouts. Consider that cell content might be more challenging for users to scan and distinguish.

An example of a DataTable component with the condensed density setting.

An example of a DataTable component with the condensed density setting.

Comfortable

  • Use the comfortable row density to improve readability for tables with visually crowded cell content and where extra space will support user experience. Consider that this density setting will show less information in the same area.

An example of a DataTable component with the comfortable density setting.

An example of a DataTable component with the comfortable density setting.

Data point separation

No separation

  • Use no visual data point separation for simple data sets, for example, a key-value list.

An example of a DataTable component with no visual data point separation.

An example of a DataTable component with no visual data point separation.

Horizontal dividers

  • Use horizontal dividers to highlight the distinction and separation between rows.

An example of a DataTable component with horizontal dividers.

An example of a DataTable component with horizontal dividers.

Zebra stripes

  • Consider using zebra stripes for large datasets where users may want to interact with one or more data points in the view to ensure easier scanning and distinction between rows.

An example of a DataTable component with zebra stripes.

An example of a DataTable component with zebra stripes.

Vertical dividers

  • Use vertical dividers to separate columns, especially when dealing with a relatively large amount of data points.

An example of a DataTable component with vertical dividers.

An example of a DataTable component with vertical dividers.

Combined separation

  • Combine zebra stripes and vertical dividers to establish a structured dataset, ensuring row and column distinction for effective readability.

An example of a DataTable component with zebra stripes and vertical dividers.

An example of a DataTable component with zebra stripes and vertical dividers.

Actions

DataTable supports actions at table, column, row, selected row(s), and cell level. Place each action at the level that matches what it affects.

Table actions

  • Use table actions for operations that affect the entire dataset, such as global sorting, filtering, or exporting.

An example of a DataTable component with table actions.

An example of a DataTable component with table actions.

Column actions

  • Use column actions for operations that affect a specific column, such as sorting or column visibility.

An example of a DataTable component with column actions.

An example of a DataTable component with column actions.

Row actions

  • Use row actions for operations related to specific rows, such as "Edit" or "View details".

An example of a DataTable component with row actions.

An example of a DataTable component with row actions.

Selected row actions

  • Use selected row actions for operations that users can perform on one or multiple selectable rows simultaneously.

An example of a DataTable component with selected row actions.

An example of a DataTable component with selected row actions.

Cell actions

  • Use cell actions for operations related to specific cells, such as "Copy to clipboard" or other context-specific activities for a particular piece of data.

An example of a DataTable component with cell actions.

An example of a DataTable component with cell actions.

Content guidelines

Table actions

Columns and rows

  • Column headers should be one or two simple words and sentence case.
  • If the column header is a noun, make it singular.
  • Action names can be one to three words. See Common actions for patterns.

Table data

  • Display data in a consistent format. Learn more about formatting data.
  • Show an empty state when there's no data or there's an error. Learn more about EmptyState.
Still have questions?
Find answers in the Dynatrace Community