# Editable grid

The editable grid is a spreadsheet-like control embedded inside record forms. Use it to manage multi-row data such as invoice line items, pricing tables, or bill-of-materials entries.

note

The editable grid is not the same as the main [list view](/user-guide/app-records-list/about-lists.md). The list view displays records across an app. The editable grid is a form field inside a single record, designed for entering and editing row-level detail.

## Add and manage rows[​](#add-and-manage-rows "Direct link to Add and manage rows")

Add and manage rows using these methods:

* **Add a row** - click the empty phantom row at the bottom of the grid to append a new entry
* **Insert a row** - place a new row at a specific position within the grid
* **Duplicate a row** - copy an existing row to create a similar entry quickly
* **Delete a row** - remove a row using the row toolbar action (deleted rows are flagged rather than permanently removed until you save)
* **Cut and paste rows** - move rows between positions
* **Drag-drop reorder** - drag rows to rearrange their order; position numbers update automatically

## Edit cell values[​](#edit-cell-values "Direct link to Edit cell values")

Edit data directly in the grid or through supporting dialogs:

* **Inline editing** - click a cell to type a value, similar to a spreadsheet
* **Modal editing** - open a dialog for fields that need more space or have complex inputs
* **Open in new tab** - launch the full record form for a row when you need access to all fields
* **Cancel changes** - revert modifications on a row before saving
* **Change indicators** - modified cells display a visual marker so you can see what has changed

## Column behavior[​](#column-behavior "Direct link to Column behavior")

Columns in the editable grid can vary depending on how the app is configured:

* **Required indicators** - columns that require a value show a visual marker in the header
* **Read-only columns** - some columns may be locked and display values without allowing edits
* **Dynamic width** - columns resize to fit their content
* **Column grouping** - related columns can be merged under a shared header

## Footer totals[​](#footer-totals "Direct link to Footer totals")

The grid footer can display aggregate values for numeric columns:

* **Sum** - total of all values in the column
* **Average** - mean value across rows
* **Count** - number of rows with data
* **Min / Max** - lowest and highest values

Totals update automatically as you add, edit, or remove rows.

## Access modes[​](#access-modes "Direct link to Access modes")

Your ability to interact with the grid depends on the access mode set by the app configuration:

| Mode               | Description                       |
| ------------------ | --------------------------------- |
| Full edit          | Add, edit, reorder, delete rows   |
| Edit-only          | Edit existing rows, no add/delete |
| Locked-with-delete | View and delete rows, no editing  |
| Read-only          | View-only, no modifications       |

The available row toolbar actions adjust to match your current mode. Per-row action availability can also be controlled by action preconditions.

## Performance with large datasets[​](#performance-with-large-datasets "Direct link to Performance with large datasets")

The editable grid uses virtual scrolling to handle large numbers of rows efficiently. Only the rows visible on screen are rendered, keeping the grid responsive even with hundreds of entries.

## Navigation[​](#navigation "Direct link to Navigation")

* **Tab** between cells for fast data entry
* **Sticky headers** remain visible as you scroll
* **Sticky scrollbar** stays accessible for wide grids
* **Filtering** and **pagination** available for large datasets

## Common use cases[​](#common-use-cases "Direct link to Common use cases")

* **Invoice line items** - enter products, quantities, and amounts with footer totals
* **Pricing tables** - manage tiered pricing or rate cards with drag-drop ordering
* **Bill of materials** - list components, quantities, and costs for a project
* **Time entry rows** - log hours against tasks or activities within a single record
* **Order items** - build order lines with inline editing and running totals

## Related[​](#related "Direct link to Related")

* [View app record](/user-guide/app-record/view-app-record.md) - overall record form structure where editable grids appear
* [Modify app record](/user-guide/app-record/modify-app-record.md) - saving changes and app-specific actions
