> 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.md).

# Data Table

Step-by-step tutorials to group, style, edit, search and act on records in the Avonni Data Table, each built on a real sales or service example.

The [Data Table](/dynamic-components/components/data-table.md) shows Salesforce records in rows and columns that users can sort, search, edit and act on. These tutorials each build one thing on a realistic example, mostly a sales pipeline of Opportunities, so you can follow them in order or jump to the one you need.

{% hint style="info" %}
Every tutorial starts from a Data Table placed in a Dynamic Component with a **Query** data source. If you have not built one yet, start with [Data Table](/dynamic-components/components/data-table.md).
{% endhint %}

## Display the right data

Organize rows, add totals and choose what each column shows.

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-cover data-type="files"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Configuring Data Grouping</strong></td><td>Group Data Table rows under collapsible headers by stage, owner or account, and order the groups the way your team reads the pipeline.</td><td><a href="https://2532358799-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FODPvvv7Cx9Z9RECLn3oV%2Fuploads%2FCJneWgTSh80lOVKyEPtO%2Fdata-table-tutorial-configuring-data-grouping-result.png?alt=media">data-table-tutorial-configuring-data-grouping-result.png</a></td><td><a href="/dynamic-components/tutorials/components/data-table/configuring-data-grouping.md">Configuring Data Grouping</a></td></tr><tr><td><strong>Add Subtotals and Totals</strong></td><td>Show the pipeline amount of each stage and a grand total row in a grouped Data Table, so a manager no longer exports the rows to a spreadsheet.</td><td><a href="https://2532358799-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FODPvvv7Cx9Z9RECLn3oV%2Fuploads%2FHTNyxgH5QOVNZVi1Ei0W%2Fdata-table-tutorial-add-subtotals-and-totals-result.png?alt=media">data-table-tutorial-add-subtotals-and-totals-result.png</a></td><td><a href="/dynamic-components/tutorials/components/data-table/add-subtotals-and-totals.md">Add Subtotals and Totals</a></td></tr><tr><td><strong>Use Rich Column Types</strong></td><td>Turn plain Data Table columns into record links, owner avatars, progress bars and star ratings, so a manager reviews deals without opening each one.</td><td><a href="https://2532358799-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FODPvvv7Cx9Z9RECLn3oV%2Fuploads%2F2SS7RrQ3NsGAHYEv2CIN%2Fdata-table-tutorial-use-rich-column-types-result.png?alt=media">data-table-tutorial-use-rich-column-types-result.png</a></td><td><a href="/dynamic-components/tutorials/components/data-table/use-rich-column-types.md">Use Rich Column Types</a></td></tr><tr><td><strong>Manage Column Visibility</strong></td><td>Show a Data Table column only to the users who need it, such as a Discount column for sales managers, by binding Hidden to a formula.</td><td><a href="https://2532358799-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FODPvvv7Cx9Z9RECLn3oV%2Fuploads%2FsCsZVri2bvg9JZTirHQO%2Fdata-table-tutorial-manage-column-visibility-result.png?alt=media">data-table-tutorial-manage-column-visibility-result.png</a></td><td><a href="/dynamic-components/tutorials/components/data-table/manage-column-visibility.md">Manage Column Visibility</a></td></tr></tbody></table>

## Make the data easy to read

Color stages and highlight values, driven by a formula field.

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-cover data-type="files"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Apply Badge Color-Coding</strong></td><td>Color the Stage column as a badge that follows each deal's stage, driven by one formula field, so a manager spots late and closed deals in one pass.</td><td><a href="https://2532358799-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FODPvvv7Cx9Z9RECLn3oV%2Fuploads%2FFU9YT48gZfcOpRAKwRVI%2Fdata-table-tutorial-apply-badge-color-coding-result.png?alt=media">data-table-tutorial-apply-badge-color-coding-result.png</a></td><td><a href="/dynamic-components/tutorials/components/data-table/apply-badge-color-coding.md">Apply Badge Color-Coding</a></td></tr><tr><td><strong>Add Status Indicators</strong></td><td>A small colored dot beside each deal's stage, made from a badge with its text hidden, keeps the status visible in a narrow table on an Account page.</td><td><a href="https://2532358799-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FODPvvv7Cx9Z9RECLn3oV%2Fuploads%2FoRBq2YguKqmwaeYmb3UZ%2Fdata-table-tutorial-add-status-indicators-result.png?alt=media">data-table-tutorial-add-status-indicators-result.png</a></td><td><a href="/dynamic-components/tutorials/components/data-table/add-status-indicators.md">Add Status Indicators</a></td></tr><tr><td><strong>Apply Conditional Cell Styling</strong></td><td>Tint table cells with SLDS classes, either the same style on every row or a style picked per row by a formula field, so key values stand out.</td><td><a href="https://2532358799-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FODPvvv7Cx9Z9RECLn3oV%2Fuploads%2Fei2oTgEAgZcq8OkEmOlD%2Fdata-table-tutorial-apply-conditional-cell-styling-result.png?alt=media">data-table-tutorial-apply-conditional-cell-styling-result.png</a></td><td><a href="/dynamic-components/tutorials/components/data-table/apply-conditional-cell-styling.md">Apply Conditional Cell Styling</a></td></tr></tbody></table>

## Let users act on records

Buttons, menus and header actions that run on the row or the selection.

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-cover data-type="files"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Add Custom Buttons</strong></td><td>Put a Log Call button and an edit icon on every Opportunity row, so sales reps act on a deal right from the pipeline table.</td><td><a href="https://2532358799-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FODPvvv7Cx9Z9RECLn3oV%2Fuploads%2FJUUCFSPIhfU08L42PXdY%2Fdata-table-tutorial-add-custom-buttons-result.png?alt=media">data-table-tutorial-add-custom-buttons-result.png</a></td><td><a href="/dynamic-components/tutorials/components/data-table/add-custom-buttons.md">Add Custom Buttons</a></td></tr><tr><td><strong>Define Row Actions</strong></td><td>Build a row menu on an Account table with Mark as Hot and View Website, so reps qualify and research prospects without opening each record.</td><td><a href="https://2532358799-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FODPvvv7Cx9Z9RECLn3oV%2Fuploads%2FdaRCyP0KxcHapb6P94ej%2Fdata-table-tutorial-define-row-actions-result.png?alt=media">data-table-tutorial-define-row-actions-result.png</a></td><td><a href="/dynamic-components/tutorials/components/data-table/define-row-actions.md">Define Row Actions</a></td></tr><tr><td><strong>Configure Header Actions</strong></td><td>Header buttons above a pipeline table let a sales manager create a deal, or hand every selected deal to a new owner, without leaving the page.</td><td><a href="https://2532358799-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FODPvvv7Cx9Z9RECLn3oV%2Fuploads%2FlrDnDQGk2S1bCKmOxYgk%2Fdata-table-tutorial-configure-header-actions-result.png?alt=media">data-table-tutorial-configure-header-actions-result.png</a></td><td><a href="/dynamic-components/tutorials/components/data-table/configure-header-actions.md">Configure Header Actions</a></td></tr><tr><td><strong>Open a Record from a Row</strong></td><td>Let users open an Opportunity from the table by its name, by a click on the row, or in a side panel, and choose how long lists load.</td><td><a href="https://2532358799-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FODPvvv7Cx9Z9RECLn3oV%2Fuploads%2FkpuJEqSY3be0zHOXX4eY%2Fdata-table-tutorial-open-a-record-from-a-row-result.png?alt=media">data-table-tutorial-open-a-record-from-a-row-result.png</a></td><td><a href="/dynamic-components/tutorials/components/data-table/open-a-record-from-a-row.md">Open a Record from a Row</a></td></tr><tr><td><strong>Enable Data Export</strong></td><td>An Export button on the Data Table downloads the rows users see, or only the ones they ticked, as an Excel or CSV file for their own spreadsheet.</td><td><a href="https://2532358799-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FODPvvv7Cx9Z9RECLn3oV%2Fuploads%2FrlNtBzj41FgjMZzadb06%2Fdata-table-tutorial-enable-data-export-result.png?alt=media">data-table-tutorial-enable-data-export-result.png</a></td><td><a href="/dynamic-components/tutorials/components/data-table/enable-data-export.md">Enable Data Export</a></td></tr></tbody></table>

## Edit without leaving the table

Change one cell or many records, then save to Salesforce.

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-cover data-type="files"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Enable Inline Editing</strong></td><td>Let users correct amounts, stages and dates straight in the Data Table, then write every change back to Salesforce with a single Save.</td><td><a href="https://2532358799-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FODPvvv7Cx9Z9RECLn3oV%2Fuploads%2FvbrgtAD7n3cTCMOkIO7J%2Fdata-table-tutorial-enable-inline-editing-result.png?alt=media">data-table-tutorial-enable-inline-editing-result.png</a></td><td><a href="/dynamic-components/tutorials/components/data-table/enable-inline-editing.md">Enable Inline Editing</a></td></tr><tr><td><strong>Enable Bulk Editing</strong></td><td>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.</td><td><a href="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">data-table-tutorial-enable-bulk-editing-modal.png</a></td><td><a href="/dynamic-components/tutorials/components/data-table/enable-bulk-editing.md">Enable Bulk Editing</a></td></tr></tbody></table>

## Help users find records

Search and filter long lists.

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-cover data-type="files"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Set Up Search</strong></td><td>Add a search box to a Data Table so users find a record by typing part of its name, including in fields the table does not show.</td><td><a href="https://2532358799-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FODPvvv7Cx9Z9RECLn3oV%2Fuploads%2FXW0HJTecjLHfWuDqRLlj%2Fdata-table-tutorial-set-up-search-result.png?alt=media">data-table-tutorial-set-up-search-result.png</a></td><td><a href="/dynamic-components/tutorials/components/data-table/set-up-search.md">Set Up Search</a></td></tr><tr><td><strong>Add User Filters</strong></td><td>Give users filter menus on a Data Table, with a value preselected on load, so a service manager opens the case list already narrowed to what matters.</td><td><a href="https://2532358799-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FODPvvv7Cx9Z9RECLn3oV%2Fuploads%2FBZKWB8gYozyvIqeYB91U%2Fdata-table-tutorial-add-user-filters-result.png?alt=media">data-table-tutorial-add-user-filters-result.png</a></td><td><a href="/dynamic-components/tutorials/components/data-table/add-user-filters.md">Add User Filters</a></td></tr></tbody></table>

## Quick answers

Short fixes for the questions admins ask support most often are collected in [Tips & Tricks](/dynamic-components/tutorials/components/data-table/tips-and-tricks.md).


---

# 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.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.
