Generic selectors

Exact matches only

Search in title

Search in content

Post Type Selectors

Data Grid

Data Grids are used to efficiently organize information and make it easier for users to consult it.

  • Overview
  • Specs
  • Guidelines

Pattern

The Data Grid pattern is a versatile and dynamic tool designed to display structured data in a clear and organized manner.

It presents information in a grid format, allowing users to easily comprehend and analyze complex datasets with efficiency and precision.

Whether used in web applications, data visualization platforms, or enterprise systems, this component offers unparalleled flexibility and functionality.

Data Grid anatomy

A: Regular Style

B: Compact Style

1: Checkbox

2: Dedicated Filter

3: Hover Actions

4. Overflow Menu

5: Cell

6 – Items to Show

7 – No. of Items

8 – Group by Columns

Datagrid_datasets
Datagrid used for large datasets

Used for:

Displaying large datasets

Data Grids excel at presenting large volumes of data in a structured and easily consumable format. They allow users to view, scroll through, and navigate extensive datasets efficiently.

Sorting and filtering

Data Grids enable users to dynamically sort and filter data based on specific criteria, allowing them to quickly find relevant information and customize the view.

Pagination

Data Grids offer built-in pagination and virtual scrolling features to efficiently manage large datasets, optimizing performance by incrementally loading data.

Don’t use for:

Limited data complexity

If your application deals with simple or straightforward data that does not require extensive sorting, filtering, or manipulation, consider using cards instead.

Graphical data representation

When the data is primarily visual or graphical in nature, such as charts, diagrams, or maps, a Data Grid may not be the most effective way to present the information, consider using the dashboard widget instead.

Datagrid_list
Datagrid used as a simple list

Demo

Access the Figma file and inspect the element using Dev Mode.

Datagrid at Figma

What’s New?

Before_Datagrid
Old version of the Data Grid
Current_Datagrid
Current version of the Data Grid
  • Updated color variables;

Related

action-bar

Action Bar

An Action Bar is a UI element at the top of interfaces, which offers quick access to essential actions relevant …

Variations

Line

Regular
.Regular {
  height: 48px;
  background: var(--grey-1);
  stroke: var(--grey-4);
  checkbox: var(--small-enabled);
  overflow-menu: var(--regular-enabled);
}
Compact
.Compact {
  height: 32px;
  background: var(--grey-1);
  stroke: var(--grey-4);
  checkbox: var(--small-enabled);
  overflow-menu: var(--small-enabled);
}

Cells

Regular
.Default {
  height: 48px;
  color: var(--grey-1);
  text: var(--grey-8);
}
  
.Info {
  height: 48px;
  color: var(--info-10);
  text: var(--info-highlight);
}

.Warning {
  height: 48px;
  color: var(--warning-10);
  text: var(--warning-highlight);
}

.Error {
  height: 48px;
  color: var(--error-10);
  text: var(--error-highlight);
}

.Success {
  height: 48px;
  color: var(--success-10);
  text: var(--success-highlight);
}
Compact
.Default {
  height: 32px;
  color: var(--grey-1);
  text: var(--grey-8);
}
  
.Info {
  height: 32px;
  color: var(--info-10);
  text: var(--info-highlight);
}

.Warning {
  height: 32px;
  color: var(--warning-10);
  text: var(--warning-highlight);
}

.Error {
  height: 32px;
  color: var(--error-10);
  text: var(--error-highlight);
}

.Success {
  height: 32px;
  color: var(--success-10);
  text: var(--success-highlight);
}

Advanced Filters

Enabled
.Enabled {
  height: 130px;
  color: var(--grey-2);
  stroke: var(--grey-4);
  text-field: var(--regular-enabled);
  checkbox: var(--small-enabled);
  buttons: var(--tertiary-small-disabled, --primary-small-disabled);
}
Focus
.Focus {
  height: 130px;
  color: var(--grey-2);
  stroke: var(--grey-4);
  text-field: var(--regular-active);
  checkbox: var(--small-enabled);
  buttons: var(--tertiary-small-enabled, --primary-small-enabled);
}
Active
.Active {
  height: 48px;
  color: var(--grey-2);
  stroke: var(--grey-4);
  text: var(--grey-8);
  tags: var(--selectable-enabled);
  buttons: var(--tertiary-small-enabled);
}

Useful links

guidelines figma accent icon

Consult our Figma file to access our assets and inspect them in dev mode.

polygon-framework

This component is or will be provided by the Polygon framework. See its documentation to learn more.

This element is in line with the guidelines of the CDS (Cegid Design System). Find out more.

Behavior

Column Resizing

The width of the columns can be adjusted by dragging the right edge of the column or double-clicking on the right edge of the column. For the latter case, the Data Grid will determine the best width for the column content.

Column resizing

Multi-Selection

This type of list allows you to apply actions in bulk, i.e. actions that can be applied to several items.

When you select at least one line in the list, the options that can be applied in bulk become active in the action bar and the number of selected items and the ‘Clear selection’ option are displayed at the bottom of the list.

You can quickly select or deselect all rows using the general checkbox.

Multi-selection

Sorting

Columns can be sorted by clicking on the label and the sort arrow. By default, the ascending sort is the first to be displayed.

One or more columns can be sorted and the number of the sort order is displayed.

The sorting can have these variations:

  • No sorting;
  • Hover in column header;
  • Sorting in ascending order;
  • Sorting in descending order;
  • Multiple sorting.
Sorting

Move Columns

Columns can be moved to visualize the Data Grid, according to the user’s needs and preferences.

Moving columns

Filtering

The Data Grid can be filtered using various filtering methods. Filters are displayed at the top of the Data Grid and in the columns to provide a robust and extensive search.

  • Search Field

The search field allows you to search by text and select various parameters present in the Data Grid. The search results should appear dynamically in the table, depending on what the user types.

The search field can have the following states:

  • Enabled;
  • Hover;
  • Focus;
  • Select search parameter;
  • Active.
Search Field Anatomy
Search field anatomy
  • Highlighted Filter

Select a maximum of one or two filters to highlight. The date range should be favored in lists with start and end date filters.

If you have any doubts as to which filters are most important to the user, you can consult analytical data on their use.

Highlighted Filter
Highlighted filter
  • Advanced Filters

This section allows advanced filtering with filters that are not present or are invisible in the table columns.

Advanced Filter
Advanced filter
  • Column Filtering

You can add a filter to each column, depending on its type of values. This can include text fields, checkboxes, date pickers and radio buttons.

Column Filtering
Column filtering

Empty State

There are different types of empty states: no data to present and no results found.

  • No data to present: this empty state is displayed when no items are being loaded into the list.
No data to present Empty State
No data to present empty state
  • No results found: this empty state is displayed when a filter is run, but there are no results to display.
No results found Empty State
No results found empty state

Column Grouping

Grouping columns enables the table to have several levels of columns in the form of headers and to expand or reduce the columns within the group. You can group one or more columns, according to your needs.

Column grouping

Grouping with Totalizers

It is also possible to present totalizers and subtotalizers by column groupings. These can be displayed for a better understanding of the data.

Grouping with totalizers

Advanced Interactions

The table has advanced interactions present in each item/row of the table.

Each item/row can have two actions highlighted in the hover state. By default, the actions are ‘View more’ and ‘Edit’, but the most appropriate actions can be set according to the purpose of the table. For example, the ‘Send to’ and ‘Delete’ actions can be highlighted.

The overflow menu shows the other actions associated with the item/row, as well as the two highlighted actions. If the label exceeds the maximum width, the text should be truncated and a tooltip with the full label should appear.

Both the highlighted actions and the overflow menu must be pinned if there is a side scroll in the table.

Advanced Interactions
Advanced interactions

Dos & Dont’s

No more than two highlight actions should be used per line;

If necessary, only one action per line can be highlighted;


Case Studies

Building a new Seamless User Experience

Using a design system is like having a set of building blocks for creating digital products. It ensures everything looks …

Discover the exciting features

Compose Design brings a host of thrilling and transformative new features designed to enhance your experience. Dive into our latest …

Benefits of a Design System

A design system is a collection of reusable components and guidelines that ensure consistency and efficiency in building digital products …

Outline