# Grouping records

{% embed url="<https://youtu.be/3INV7rs1BWg>" %}

Help your team navigate your apps more efficiently by grouping records in list views.

In this video, learn how to:

* Group records by a particular field
* Choose whether or not to show empty groups
* Hide specific groups of records from the list view
* Configure groups to be expanded or collapsed by default
* Enable drag and drop to move a record into another group
* Change calendar event colour on Calendar views by grouping records
* Change map pin colour on Map views by grouping records

{% hint style="info" %}
The option to group records is available on all Display options except Single record view and Charts.
{% endhint %}

## Setup vs Grouping in the Editor

Every redesigned layout (Rows, Cards, Columns, Kanban boards, Timeline) splits its Editor sidebar into two sections:

* **Setup** — layout-specific options like Card size, Style, Label icons, Board summary. These differ per layout — see each layout's guide.
* **Grouping** — the shared grouping controls described below. They look and behave the same across every layout.

<figure><img src="/files/UrAU8KTRYN6GmJtTv1Ij" alt=""><figcaption></figcaption></figure>

## Choosing a grouping field

You can group your records by most field types. The exceptions are:

* Multiple option fields
* Multi-linked fields

These can't be used for grouping because each record holds many values, so there's no single bucket to place it in.

## Multi-level grouping

You can nest up to **3 levels of grouping** to organise records hierarchically — for example, Rows of tasks grouped by **Project → Status → Assignee**. Each level appears in the sidebar with progressive indentation and renders as a stacked, sticky header on scroll.

{% hint style="info" %}
Multi-level grouping is available on Rows, Cards, Columns, Board (Kanban) and Tables. Timeline supports multi-level grouping via swim lanes. Calendar and Map use a single grouping field to drive colour.
{% endhint %}

<figure><img src="/files/Ku4KAhzDo6OGJw5zMuSa" alt=""><figcaption></figcaption></figure>

## Group Style: Colored vs Neutral

The Grouping section in the sidebar includes a **Style** selector that controls how each group header is rendered:

* **Colored** (default) — uses the option's badge colour for the group header background, text, and count badge. Only takes effect when grouping by a Single Option or Multiple Option field with badge colours.
* **Neutral** — uses the standard neutral background/text colour for every group header, and only the count badge picks up the option's colour.

If you're grouping by a field that doesn't have badge colours (e.g. a relationship or text field), groups always render with the neutral style.

## Showing, hiding and ordering groups

The new Grouping section also lets you:

* **Tick or untick** each option from the list to control which groups appear, with **Select all** and **Deselect all** shortcuts next to the search bar.
* Choose the default **expanded or collapsed** state per group using the chevron menu.
* Toggle **Show empty groups** to keep columns visible even when no records match (useful for Kanban boards so users can still drag records into an empty status).

<figure><img src="/files/Eifwp7atF6KqfAm2HUDU" alt=""><figcaption></figcaption></figure>

### How to sort the order of record groups

You can configure the order in which groups of records appear in your list views.

Watch the below video from [1:42](https://youtu.be/MAOOFUXjNLY?t=102) to see how.

{% embed url="<https://youtu.be/MAOOFUXjNLY>" %}

## Records with no value in the grouping field

Records that have no value for the grouping field appear in a dedicated **neutral group**. This is true across every layout — Kanban shows a neutral column, Cards/Columns/Rows show a neutral lane, Timeline shows a neutral swim lane.

## Empty group state

When a group contains no matching records (and **Show empty groups** is on), the group still appears with a single "No items" card so the column doesn't look broken. On Cards, Columns and Rows the empty group also collapses by default.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://guides.noloco.io/views/display/grouping-records.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
