> For the complete documentation index, see [llms.txt](https://docs.avonnicomponents.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.avonnicomponents.com/dynamic-components/tutorials/components/data-table/enable-bulk-editing.md).

# Enable Bulk Editing

With a Bulk Edit button, users tick several records in the Data Table and change a field on all of them at once, with no flow to build.

At quarter end, a sales operations manager has to push a dozen deals into next quarter. She checks them in the table, clicks **Bulk Edit**, sets the new close date once, and every selected Opportunity is updated.

<figure><img src="https://2532358799-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FODPvvv7Cx9Z9RECLn3oV%2Fuploads%2Fgit-blob-a7227bcc162be24f08941c24158437716845eda4%2F2026-02-03_14-02-20%20(1).gif?alt=media" alt=""><figcaption></figcaption></figure>

## Before you start

* A Data Table with a **Query** data source. See [Data Table](/dynamic-components/components/data-table.md) to set one up.
* The fields users will change must be columns of the table.
* Users need edit access to those records and fields.

## Steps

{% stepper %}
{% step %}

### Let users select rows

In the **Properties** tab, open the **Content** section:

* Leave **Hide Checkbox Column** off, so each row has a checkbox.
* Leave **Max Row Selection** empty, or enter a number above 1.
* Turn on **Show Number of Items Selected** if users should see how many rows they picked (optional).

To cap how many rows can be selected and edited at once, click **Advanced Options** and set **Max Row Edit and Selection**.
{% endstep %}

{% step %}

### Add the Bulk Edit button

1. Open the **Header** section.
2. In **Actions**, add an action.
3. Set **Label** to `Bulk Edit` and give it a **Name**. Pick an **Icon Name** such as `utility:edit` if you like.

The button appears in the table header. See [Configure Header Actions](/dynamic-components/tutorials/components/data-table/configure-header-actions.md) for more on header buttons.
{% endstep %}

{% step %}

### Connect the button to Edit Selected Record(s)

1. Open the **Interactions** tab.
2. Under **Header Action Click**, click **Add Header Action Click**.
3. Set **Target Name** to **Bulk Edit**.
4. Set **Type** to **Edit Selected Record(s)**.
5. Under **On Success** and **On Error**, add a **Show Toast** if you want custom messages (optional).

<figure><img src="https://2532358799-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FODPvvv7Cx9Z9RECLn3oV%2Fuploads%2FMrKrtHLqnQlvo1PTOHgS%2Fdata-table-tutorial-enable-bulk-editing-interaction.png?alt=media" alt="Header Action Click interaction with Target Name Bulk Edit and Type Edit Selected Record(s)" width="320"><figcaption><p>Point the Bulk Edit button at Edit Selected Record(s).</p></figcaption></figure>

After a successful update, the table reloads its query by itself, so you do not need a **Refresh Query** interaction. See [Edit Selected Records](/dynamic-components/component-builder/interactions/edit-selected-records.md) for every setting.
{% endstep %}

{% step %}

### Know what the modal shows

When users click **Bulk Edit**, a **Mass Edit Records** dialog opens.

* It lists the fields from the table's columns that the user is allowed to edit.
* Each field has a checkbox. Typing a value ticks it automatically.
* Only ticked fields are written to the selected records. The others stay unchanged.

<figure><img src="https://2532358799-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FODPvvv7Cx9Z9RECLn3oV%2Fuploads%2FREzdxBw4wZdYqzUKboac%2Fdata-table-tutorial-enable-bulk-editing-modal.png?alt=media" alt="Mass Edit Records dialog listing Name, Stage, Amount, Probability and Close Date, with the Stage checkbox ticked and Negotiation/Review selected" width="480"><figcaption><p>Only ticked fields are written to the selected records.</p></figcaption></figure>

If only one row is selected, the standard **Edit Record** dialog opens instead, with the full record.
{% endstep %}

{% step %}

### Save and test

Click **Save**, then open the Lightning page where the component is placed. **Edit Selected Record(s)** does not run in **Preview**.

Select three Opportunities, click **Bulk Edit**, tick **Stage**, choose `Negotiation/Review` and click **Save**. The dialog closes, the table reloads, and the three rows show the new stage.
{% endstep %}
{% endstepper %}

## Troubleshooting

<details>

<summary>Bulk Edit shows "The interaction "Edit Selected Record(s)" is not executed in Preview."</summary>

This is expected. Record operations never run from the builder's **Preview**. Test on the activated Lightning page.

</details>

<details>

<summary>A field is missing from the Mass Edit Records dialog</summary>

The dialog only lists fields that are columns of the table and that the user can update. Add the field as a column, then check the user's field-level security. Formula fields and other read-only fields never appear. A column shown as a **Progress Bar** is not offered either: to let users bulk edit **Probability**, show it as a **Percent** or **Number** column.

</details>

<details>

<summary>Users cannot check more rows</summary>

**Max Row Selection** or **Max Row Edit and Selection** is set too low. Clear it or raise it in the **Content** section.

</details>

<details>

<summary>Clicking Bulk Edit with no row selected shows an error</summary>

The action needs at least one selected record and asks the user to select one and try again.

</details>

## Related tutorials

* [Enable Inline Editing](/dynamic-components/tutorials/components/data-table/enable-inline-editing.md): let users change values cell by cell instead.
* [Configure Header Actions](/dynamic-components/tutorials/components/data-table/configure-header-actions.md): more buttons for the table header.
* [Define Row Actions](/dynamic-components/tutorials/components/data-table/define-row-actions.md): actions on a single row, from the row menu.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.avonnicomponents.com/dynamic-components/tutorials/components/data-table/enable-bulk-editing.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
