Appearance
Editable Grid
A grid of values the operator edits, stages and then saves as one batch, for recipes and setpoint tables.
In Studio
In Studio, double-click Editable Grid in the Components category of the Components panel. It is added to the open view, where you can drag it into place.
When to use
Use Editable Grid for a recipe, a step table or any set of values that should be reviewed before they reach the PLC. Changed cells are marked, and nothing is written until the operator saves.
Properties
| Property | Type | Default | Description |
|---|---|---|---|
| Variant | hairline, striped, cards | hairline | How it looks: hairline (default, thin row dividers), striped or cards. |
| Density | comfortable, compact | comfortable | comfortable (default) or compact row spacing. |
| Row Key | String | (none) | The column that identifies a row. It is also the {row} in Write Path, and an existing row's key cannot be edited. Blank identifies rows by position. |
| Write Path | String | (none) | A tag path template written once per changed cell. {row} is the row key, {col} is the column key and {row.field} is another cell in the same row. Blank writes no tags: the save event carries the changes to a script or Named Query instead. |
| Add Rows | false, true | false | Shows an add-row button so the operator can add rows. |
| Remove Rows | false, true | false | Lets the operator mark rows for removal. |
| Add Label | String | Add row | The text on the add-row button. Default Add row. |
| Sortable | true, false | true | Lets the operator sort by clicking a column heading. |
| Filter Box | false, true | false | Shows a filter box above the grid. |
| Resize Columns | true, false | true | Lets the operator drag column edges to resize them. |
| Hide Columns | false, true | false | Adds a Columns menu so the operator can hide columns. |
| CSV Export | false, true | false | Adds a CSV button that exports the grid. |
| Empty Text | String | No rows | Shown when there are no rows. |
| Rows | Dataset | (empty) | The data: a list of row objects, one key per column. Bind it to a Named Query, a script or a dataset. With no columns set, the first row's keys become the columns. Edits are staged on top and never change this list. |
Binding
This component has no single value binding.
Bind rows to a dataset. The columns property lists each column's key, label, width and type (text, number, integer, select or bool), with optional min, max, options, required and readOnly. An entry that breaks its column rules is refused where it is typed and never staged. Save sends every change as one batch, in order, through the normal tag write path, which the gateway audits, and a tag that needs an electronic signature opens the signature dialog. The batch is not all-or-nothing: a failed write stops it, the writes before it stay, and the grid says which tag failed. Discard reverts the staged edits. Save stays off while a new row is missing a required cell. The save event fires On Action Performed with the list of changes.