Table fields provide an inline tabular display of repeating data, along with the ability to add & edit rows in the Table via a dedicated row page.
Users add rows via a dedicated “Add New Row” button, and can edit existing rows by tapping on the displayed Table row.
You can think of a Table as being a special kind of repeatable Page that can be placed within your regular Page.
The columns of your Table are defined by the Form fields that you place within the Table field when using the Form designer.
By default, the Table will display columns for each inner field, based on the order the fields appear within the Table field design.
The background colour, font size and other aspects of these inner fields are incorporated to the column display of the Table.
You can choose to exclude fields from being displayed as columns via the “Disable Column Display” property found on all inner Table fields.
In this way you can choose which fields should act as columns in the Table’s display.
The app automatically restricts the maximum number of columns displayed based on the device size.
For phones, tables are limited to displaying a maximum of 3 columns. On tablets, the app allows up to 6 columns.
Tables also provide other configuration options – for example you can customise the default “Add New Row” button as desired.
The “New Row” button appears at the bottom of the Table display on the app, allowing users to add rows to the Table.
When the button is tapped by the app user, the app navigates to a special row page which displays the fields you dragged into the Table design.
Once the user has filled in one row, they can navigate back to the main Form page or can navigate forward to add another row to the Table.
Using Formula Functions with Tables
As mentioned above, the Table field can be thought of as being a special kind of repeatable Page.
This means that repeat-specific formula functions can be used with Table fields.
For example, you can copy forward values from the previous Table row via the PRIOR(‘fieldname’) function.
You can also use SUM(‘field’) and other such functions in fields outside the Table to perform aggregate calculations on Table fields.
Table fields can be pre-populated via our Task API and via inbound field parameters passed in via an “Open Screen” interaction launched from a prior Screen.
Tables cannot currently be auto-populated from a Data Source. This is on our roadmap for a future release.
Current Table Limitations
Tables have some restrictions that should be noted when considering your Form design:
- Tables placed within repeatable Pages are not supported (in particular for Data Template outputs)
- Image/media fields do not currently display as columns
- Dedicated totalling is not currently available on Tables, though this is likely to be added in the future.
- Tables cannot currently be auto-populated from a Data Source. This is on our roadmap for a future release.
One of the properties of the Table field is NEW ROW BUTTON. This property can be seen on the right hand side of the form designer when the Table field is selected. This can be used to customise the button to create a new row in the table. Even if this property is not modified, you can still add new rows to the Table field.
If the property is left blank:
When opening the form on a mobile device, it will appear as follows:
You can now fill in the information you need. If you click on the icon, you will cancel the input for the current row. The application will ask you to confirm if you want to delete the entry. This applies to the row you are currently editing, even if it is a new row. If you press the icon, the information entered will be saved for the current row. For both icons, you will be returned back to the page on which the Table field exists. Once you have filled in the data for a couple of rows, the page will look something like this:
To edit or delete a row, simply touch or click on it. This will bring up the same screen as for adding a new row to the table. Pressing the will delete the row, and pressing will save any changes you made to the row.
If the NEW ROW BUTTON property is filled in, for example like this:
Attached is a template of the form used in this example.