About header and body cells

The header cells are text fields. To change the label for a header, right-click the header cell and click Edit. In the Edit dialog, update the label in the Value field and click OK.

The body cells are text boxes, by default. You can replace a body cell with any other adaptive forms component available in the sidekick, such as a numeric box, date picker, or drop-down list.

For example, the first body row in the following table includes text box, date picker, and drop-down list components as cells.

row-cell-types

You can merge two or more body cells by selecting the cells you want to merge, right-click, and select Merge. Also, you can split a merged cell by right-clicking it and selecting Split Cells.

Add, delete, move rows and columns

You can add and delete a row or column, and move a row up and down in a table.

To add or delete a row or column or move a row, click any cell in the row or column. A drop-down menu appears at the top of the column and on the left of the row. The menu at the top provides options to add or delete the column, whereas the menu on the left allows you to add, delete, or move the row.

  • The Add operation adds a row below or a column to the right of the selected row or column.
  • The Delete operation deletes the selected row or column.
  • The Move Up and Move Down operation moves the selected row up and down.

The drop-down menu for the row also provides the Edit operation to edit row properties, settings, and styling options.

add-delete-move-row-column

NOTE
While you can add any number of rows in a table, the maximum number of columns you can add is six. Also, you cannot delete the header row from the table.

Set column width for a table

Execute the following steps to set column width for a table:

  1. In the Content tab, tap the Table component and tap the Configure ( Configure )icon.

  2. Enter the comma-separated list of values in the Column Width field to specify the proportionate width of each column in the table. For example, for a table that includes 3 columns, specifying 2,4,6 as the value in the Column Width field results in setting the width of columns as 2/12 for first column, 4/12 for second column, and 6/12 for third column. 2/12 as the width for the first column refers to one-sixth of the table width. Similarly, 4/12 sets the second column width as one-third of the table width and 6/12 sets the third column width as half of the table width.

Add table description

You can add a description of the table to explain how the information is organized that screen readers can interpret and read out. To add the description:

  1. Select the table and tap cmppr to see its properties in the sidebar.
  2. Specify summary in the Accessibility tab.
  3. Click Done.

Configure table style

You can define the style for a table by using the Style mode in the page toolbar. Perform the following steps to switch to style mode and edit the table styling

  1. In the page toolbar, before Preview, tap canvas-drop-down > Style.

  2. In the sidebar select table and tap the edit button edit-button .

    You can see the styling properties in the sidebar.

Styling properties of a table

NOTE
You can change the color theme for header and body rows by changing the values of LESS variables. For more information, see Themes in AEM Forms.

Add or delete a row dynamically

Tables provide out-of-the box support for dynamically adding or deleting rows at runtime.

  1. Select a table row and tap cmppr .
  2. In the Repeat settings tab, specify the minimum and maximum counts to limit the number of rows in the table.
  3. Click Done.

At runtime, you will see + and - buttons to add or delete a row.

add-delete-rows-dynamically

NOTE
Adding or deleting a row dynamically is not supported in Headers on left mobile layout of tables.

Expressions in a table

Tables in adaptive forms allow you to write expressions in JavaScript to induce behaviors, such as show or hide a table or a row, add up all the numbers and show the total in a cell, enable or disable a cell, validate user input, and so on. These expressions use adaptive forms scripting model APIs.

While tables and rows support only visibility expressions to control their visibility based on the value returned by an expression, cells support the following expressions:

  • Initialization Script: to perform an action on initialization of a field.
  • Value Commit Script: to change the components of a form after the value of a field is changed.
NOTE
If the XFA change/exit script is also applied to the same field, the XFA change/exit script executes before the Value Commit script.
  • Calculate expressions: to auto-compute value of a field.
  • Validation expressions: to validate a field.
  • Access expressions: to enable/disable a field.
  • Visibility expression: to control visibility of a field and panel.

The visibility expression for a table or a row can be defined in the Panel properties tab of their corresponding Edit component dialog. The expressions for a cell can be defined in the Script tab of its Edit component dialog.

For the complete list of adaptive forms classes, events, objects, and public APIs, see JavaScript Library API reference for adaptive forms.

Mobile layouts

Tables in adaptive forms provide unmatched experience mobile devices because of its fluid and responsive layouts. AEM Forms offers two types of mobile layouts for tables - Headers on left and Collapsible columns.

You can configure a mobile layout for a table from the Styling tab of the Edit component dialog for a table.

Headers on left

In the Headers on left layout, the header in the table are transposed on the left with only one cell appearing against a header. Each row in this layout appears as a distinct section. The following images compare a table on a desktop with that on a mobile device.

desktopview
Figure: Desktop view of a table with Header on left layout

headersontheleft
Figure: Mobile view of a table with Header on left layout

Collapsible columns layout

In the Collapsible column layout, the columns in the table collapse to show one or two columns, depending on the device size, while other columns are collapsed. You can click the collapse/expand icon to view other columns in the table.

NOTE
While Collapsible column layout is optimized for mobile devices, it will work on desktop as well, if the width available is not enough to show all the columns in a table.

The following images compare how a table looks on a device with collapsed and expanded columns.

collapsed-column
Figure: Collapsed columns of a table with only two columns showing up on a mobile device

collapsible_column
Figure: Expanded column of a table on a mobile device