Overview
To manage repeating data within Mirata forms, understand the distinct roles of Arrays, List controls, and Data Tables. Arrays define the data structure, List controls present that data visually, and Data Tables provide centrally managed datasets. Recognizing these layers allows precise configuration of data display, form logic, and external data integration.
Data structure concepts
Array field type
An array is a Mirata field type that groups a set of contained fields into repeating rows sharing the same structure. An array holds the data; it doesn't determine how that data looks on the form. A calculation inside the array references one of its contained fields by that field's bare name when the calculation runs in the same row, and by an absolute path when it doesn't.
In the Designer, open the Layers panel using the diamond icon in the left rail.
Under Configure New Field, leave Type set to Field, then choose array from the type dropdown.
Click the + button to add the field, then name it from the Field tab.
Add the fields that repeat inside each row, for example a quantity and a done flag, as children of the new array field.
Choose a presentation control
An array by itself holds data and renders nothing on the form. To show it on screen, add one of the Data Groupings presentation controls from the Designer's Component Selector. List, Grid, and Table each bind to the form's own array field; Read-Only Grid instead displays rows from a Data Table and doesn't bind to an array at all.
Control | Binds to | What it does |
|---|---|---|
List | Array | List of repeating sections (supports add) |
Grid | Array | Displays data in spreadsheet format |
Table | Array | Displays columnar data (supports search) |
Read-Only Grid | Data Table | Displays a list in table or dropdown format |
Grid, Table, and Read-Only Grid each have a dedicated article covering their Control Properties in full: Grid, Table, and Read-Only Grid. The rest of this section covers List, the one presentation control without a page of its own.
Open the Component Selector and expand the Data Groupings category.
Drag List onto the form.
In the field dialog, reference the array field to display, or create a new one.
Add the fields that should appear in each row directly to the array's row structure; each one renders as a column.
Data Table and Table component are not the same thing
A Data Table, an organization-level dataset, and the Table presentation control, which renders a form's own array field, share a name but are distinct. Confusing the two is a common source of errors when setting up a data source.
Data Table dataset
A Data Table is an organization-level dataset created and maintained outside any specific form, typically by an administrator, and exists in the Admin tool, separately from Designer. It exists independently of any form's array fields. Once created, a Data Table becomes available as a data source: a dropdown field can reference it directly, and a Read-Only Grid can display its rows.
Combining data structures
Bind a control to a Data Table
List, Grid, and Table each bind to the form's own array field, set from the Conditions tab's Initial property. None of the three offers a Data Table as that binding's source. Read-Only Grid is the control built to show Data Table rows; see Read-Only Grid for what it configures.
Source a dropdown from an array
A dropdown field can also source its options from an array elsewhere on the form instead of from a fixed list. On the field's Data tab, the list icon in the right rail, set Source Type to Table Binding.
Source a dropdown from a Data Table
To offer choices drawn from an organization-managed Data Table instead, set the same fieldβs Source Type to Reference Table.
Select the dropdown field and open its Data tab, the list icon in the right rail.
Set Source Type to Reference Table.
Choose the Data Table from the Table dropdown.
Set Return and Display to the columns that supply the option's stored value and its visible label, and set Sort By and Sort Order if the options need a specific order.
Row operations
Map list selection to a field
To track which row in a List is currently selected, map the selection to a field. This stores the position of the selected row in an integer field outside the array.
Select the List control and open its Control Properties, the wrench icon in the right rail.
Under Settings, set Selection Field to an integer field outside the array.
The field updates automatically with the position of whichever row the user has in focus.
Read a value from a specific row
To read a value from a specific row, for example the first, last, or currently selected one, use a position-based expression such as Current-Position or Current-Position-One-Based inside a calculation. Position-Based Calculations covers the full set of position expressions.
Summarizing array data
The Calc Editorβs Array category holds the expressions that summarize a column across every row of an array into a single value: counting rows that meet a condition, summing or averaging a numeric column, finding its highest or lowest value, and combining a boolean column with AND, OR, or XOR. Array Expressions documents all of them, and Decimal and Integer Expressions covers the arithmetic expressions most array reducers summarize into.
Associated form list
Understand associated form list
To understand the purpose and potential functionality of the Associated Form List component, recognize its role as a presentation control in the Designer's Data Groupings palette. It is intended to return an array of associated forms. Its exact behavior with live data is unconfirmed, but it is designed to manage and display references to separate form instances.
Identify associated form list
To correctly identify and distinguish the Associated Form List component within the Mirata Designer, locate it in the palette. This confirms its presence as a fifth presentation control for handling repeating data, specifically related to other form instances. Find the Associated Form List within the Designer's Data Groupings palette, where it is described as returning an array of associated forms.