--- title: "Record List Control" slug: "record-list-control" updated: 2025-12-11T02:22:51Z published: 2025-12-11T02:22:51Z canonical: "docs.processmaker.com/record-list-control" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.processmaker.com/llms.txt > Use this file to discover all available pages before exploring further. # Record List Control The Record List control functions differently in [Form](/v1/docs/screens#form-1)- and [Display](/v1/docs/screens#display-1)-type [Screens](/v1/docs/screens): - [Form-Type Screen Usage](/v1/docs/record-list-control#form-type-screen-usage) - [Display-Type Screen Usage](/v1/docs/record-list-control#display-type-screen-usage) > [!NOTE] > This control is available for the following Screen types: > > - Display type > - Email type > - Form type > > See [Screen Types](/v1/docs/screens#screen-types). --- ### Form-Type Screen Usage #### Configuration Description In the Form-type Screen, the Record List control records a record list. The record list is composed of multiple records, of which the Request participant enters data components for each record. The controls used to record each record's data components are designed in a second page of the same Screen containing the Record List control. The page that records the data components of each record cannot be on the same page as the Record List control. When configuring the Record List control, specify how the record list displays information after the control has recorded each record for the list: - **Column Headers:** Specify each column header that represents the data components for each record. For example, label a column header `First Name` to indicate that this data component displays each person's first name for each record in the list. - **Values:** For each specified column header, reference the **Variable Name** setting value for the control on the second page that receives a data component for each record corresponding with each column header. For example, use a [Line Input control](/v1/docs/line-input-control) with a **Variable Name** setting value of `LineInputFirstName` to receive each person's first name for each record in the list, and then associate that `LineInputFirstName` value with the `First Name` column. After configuring the columns for the record list, sort the order in which they are to display in the record list. Alternatively, use JSON format to configure the columns and their corresponding **Variable Name** setting values in their respective order to display in the Record List control. Optionally, values can be edited after the Request participant initially enters the record(s) in the record list. However, after the Request participant submits the Screen, the record list cannot be changed. > [!NOTE] > See [Form-Type Screen Settings](/v1/docs/record-list-control#form-type-screen-settings). #### Experience Description Expect a similar experience as a Request participant when using a properly configured Record List control during a Request as follows: 1. Open the Task with the Screen using the Record List control. The Record List control displays an empty record list. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/a524a064-3025-48ff-9a87-cf36f1739a58.png) 2. Click the **Add Record** button to add a record to the record list. A screen displays to enter data components for one record. In doing so, the Record List control references the controls on the secondary page of the Screen. In this example, enter a record for registrars for a conference. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/db043176-5403-4a8a-a603-a7de5ee4a19f.png) 3. Enter information for each data component for the record. 4. Click the **OK** button and ignore the Submit control. 5. Repeat Steps 2 through 4 for each record in the record list. As you enter each record, it displays in the record list. If the Record List control is configured to be editable (as shown below), then the **Edit** button![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/2c964d4b-a03e-49ce-a4d8-1834f949cd97.png)and **Delete** button![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/e0e75fb8-da43-47fb-a552-1f24e14871de.png)display to edit or delete a record, respectively. Otherwise, these buttons do not display and records cannot be changed after they are added. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/bd7af7fc-7035-4cdf-945c-addc5989239b.png) 6. Submit the Screen to save the record list in the Request. After the Task is submitted, the record list cannot be changed. --- ### Display-Type Screen Usage #### Configuration Description In the Display-type Screen, the Record List control displays a record list previously entered into a Form-type Screen in a previous Task of that Request. When configuring the Record List control, specify how the record list displays information in the Display-type Screen: - **Column Headers:** Specify each column header that represents the data components for each record in the list. For example, if the record list had recorded first names, then label a column header `First Name`. - **Values:** For each specified column header, reference the **Variable Name** setting value for the control that corresponds with that specified column header's record data component. To do so, open the Screen that contains the Record List control that recorded the list, then locate the control that corresponds with the specified column header's record data component. For example, if a [Line Input control](/v1/docs/line-input-control) with a **Variable Name** setting value of `LineInputFirstName` is used to record each person's first name for each record in the list, associate that `LineInputFirstName` with the specified `First Name` column header. - Repeat this procedure for each column header and its corresponding control that received a record data component for the record list. Make note of each control's **Variable Name** setting value, as you must provide this same value when configuring each column header in the record list. After configuring the column headers for the record list, sort the order in which they are to display in the record list. Alternatively, use JSON format to configure the column headers and their corresponding **Variable Name** setting values in their respective order to display in the Record List control. > [!NOTE] > See [Display-type Screen Settings](/v1/docs/record-list-control#display-type-screen-settings). #### Experience Description After opening a Task or Manual Task with a Display-type Screen using a Record List control, the record list displays each record as entered in a Form-type Screen in a previous Task of that Request. --- ## Use the `_parent` JSON Key to Reference Request Data from Controls in a Record List Control The Record List control uses a unique JSON key available to any control placed into the secondary page from which the Record List control references its values so that those controls can reference Request data. Controls that are placed into that secondary page function within a container and may only access another control's data that is in the same secondary page. Use the `_parent` JSON key in a control's settings placed into the secondary page to reference Request data outside of that Record List control. > [!NOTE] > The `_parent` JSON key only applies to controls placed into a Record List control or [Loop](/v1/docs/loop-control) control. Consider the following examples: - A Line Input control placed into the secondary page requires a default value to display from another Line Input control used during that Request of which its **Variable Name** setting is `Line_Input_Data`. From the Line Input control placed into the secondary page, enter the following into the **Default Value** setting: `{{ _parent.Line_Input_Data }}`. - A Select List control placed within the secondary page requires its options to display from another Select List control's options used during that Request of which its **Variable Name** setting is `Select_List_Options`. While configuring the Select List control placed into the secondary page to [use Request data as its data source](/v1/docs/select-list-control#reference-request-data), enter the following into the **Options Variable** setting: `{{ _parent.Select_List_Options }}`. --- ## Add the Control to a Screen **Permissions** Your user account or group membership must have the following permissions to design a Screen unless your user account has the **Make this user a Super Admin** setting selected: - Screens: Edit Screens - Screens: View Screens See the [Screens](/v1/docs/permission-descriptions-for-users-and-groups#screens) permissions or ask your Administrator for assistance. Follow these steps to add this control to the [Screen](/v1/docs/screens): 1. [Create a new Form-type, Email-type or Display-type Screen](/v1/docs/create-a-new-screen) or [edit an existing one.](/v1/docs/manage-screens#edit-a-screen) 2. From the Controls Menu on the left, expand the **Content Fields** category, and then locate the **Record List** icon![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/27a89a46-cf65-4c8a-829e-fff9d3164420.png). 3. Drag and drop the control to the Screen Builder canvas. Existing controls in the Screen will adjust positioning based on where you drag the control. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/b41c92a6-7862-4b8f-a647-6adefc3a7eb8.png) 4. Do one of the following depending on whether you are using the Record List control on a [Form](/v1/docs/screens#form-1)- or [Display](/v1/docs/screens#display-1)-type Screen: **Form-type Screen:** **Display-type Screen:** 1. Create a new page in this Screen. Use this page to design how the Request participant enters data that the Record List control records. The page that records the submitted records cannot be on the same page as the Record List control. See [Add a New Page to a Screen](/v1/docs/add-delete-or-rename-a-page#add-a-new-page-to-a-processmaker-screen). 2. On the new page, design the form using controls from which the Request participant enters the data component that the Record List control receives for each record. In each of the controls that receive a data component for each record, make note of the **Variable Name** setting values for each control; these values correspond with how the Record List control displays the record list in the **Value** parameter for each column. Do not place a [Submit Button](/v1/docs/submit-button-control#control-description) control on the new page; otherwise, the Task cannot be submitted during a Request. 3. Configure each of the controls placed on the new page. If a control placed into this page requires to use Request data, use the `parent` JSON key. See [Use the](/v1/docs/record-list-control#use-the-parent-json-key-to-reference-request-data-from-controls-in-a-record-list-control) `parent` JSON Key to Reference Request Data from Controls in a Loop Control. 4. Return to the page that the Record List control is placed, and then configure the Record List control. See [Settings](/v1/docs/record-list-control#inspector-settings). Ensure to add a Submit Button or [Page Navigation](/v1/docs/page-navigation-control#control-description) control on the page containing the Record List control so that the Task can be submitted after all records have been added to the record list during a Request. 1. Configure the Record List control. See [Settings](/v1/docs/record-list-control#inspector-settings). 5. Validate that the control is configured correctly. See [Validate Your Screen](/v1/docs/validate-and-publish-a-screen#validate-a-processmaker-screen). ### Example Consider the following example how to use a Record List control in a Form-type Screen. Configure a Record List control to record the following data components about registrars for a conference. The table below shows how the Record List control displays the record list. Configuring each column and the **Variable Name** setting value for each control that records the data component that displays in that column is the same for both Form- and Display-type Screens. On a second page in the same [Screen](/v1/docs/screens), use Screen controls for Request participants to enter data components for each record. Ensure the following: - The Record List control references the specified controls on the second page. The controls that receive the record data components cannot be on the same page as the Record List control. - In each of the controls that receives a data component for each record, make note of the **Variable Name** setting values for each control; these values correspond with how the Record List control displays the record list in the **Value** parameter for each column. This setting is in the **Columns** panel. See [Settings](/v1/docs/record-list-control#inspector-settings). The following table outlines how to configure the **Column Header** and **Value** settings for each column in the Record List control for this example. | Control Type | Control's "Variable Name" Value | Record List "Column Header" Value | Record List "Value" Value | What It Represents | | --- | --- | --- | --- | --- | | Line Input | firstname | First Name | firstname | Registrar's first name | | Line Input | lastname | Last Name | lastname | Registrar's last name | | Line Input | email | Email Address | email | Registrar's email address | | Select | confirmation | Confirmation | confirmation | Attendance confirmation | The following image shows the **Column Header** and **Value** setting values in the Record List control to reference the [Line Input](/v1/docs/line-input-control) control with the **Variable Name** setting value of `firstname`. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/b1a00f2a-27ff-4a66-8acc-ad8dc3e90c8b.png) "Column Header" and "Value" settings to reference a Line Input control The following image shows the column configuration for the Record List control. See [Settings](/v1/docs/record-list-control#inspector-settings) for the Record List control setting descriptions. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/a21d368d-2710-4da5-b4f6-2b5b30085897.png) Record List control that contains columns to display a record list Below is the secondary page in Preview mode for each conference attendee to enter a record. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/21c80b41-5c09-43b3-8b21-92877e4ae795.png) --- **Form-Type Screen Settings** The Record List control has the following configurable settings in the Properties Panel for Form-type [Screens](/v1/docs/screens): - [**Variable** panel](/v1/docs/record-list-control#variable-panel-settings) - [**Configuration** panel](/v1/docs/record-list-control#configuration-panel-settings) - [**Columns** panel](/v1/docs/record-list-control#columns-panel-settings) - [**Design** panel](/v1/docs/record-list-control#design-panel-settings) - [**Advanced** panel](/v1/docs/record-list-control#advanced-panel-settings) --- ### Variable Panel Settings Expand the **Variable** panel from the Properties Panel on the right to configure the following properties: #### Variable Name Edit the default **Variable Name** setting value for this control if necessary. The **Variable Name** setting value represents data in this control during Requests. Ensure that the **Variable Name** setting value is a unique name from other controls in this [Screen](/v1/docs/screens) and contains at least one letter. This is a required setting. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/5e540fcc-1dcf-48a9-b857-f1d0e3ca038e.png) Use the **Variable Name** setting value in the following ways: - Reference this control by its **Variable Name** setting's value. - Reference this control's value in a different Screen Builder control. To do so, use mustache syntax and reference this control's **Variable Name** value in the target control. Example: `{{ form_record_list_1 }}`. - Reference this value in [**Visibility Rule** setting expressions](/v1/docs/record-list-control#visibility-rule). See [best practices](/v1/docs/screen-design-best-practices#naming-request-variables-for-processmaker-screen-controls) when editing a Request variable name. #### List Label Edit the default label that displays for this control if necessary. **New Record List** is the default value. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/6be89b16-3f9c-482c-9dbf-c3f24d1a5a81.png) --- ### Configuration Panel Settings Expand the **Configuration** panel from the Properties Panel on the right to configure the following properties: #### Editable[](/docs/record-list-control#editable) Select to indicate that records in the list can be edited or deleted with the **Edit**![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/2c964d4b-a03e-49ce-a4d8-1834f949cd97.png)and **Delete**![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/e0e75fb8-da43-47fb-a552-1f24e14871de.png)icons, respectively. Otherwise, deselect to indicate that after each record is added to the record list, it cannot be changed. Note that after the Task is submitted, the record list cannot be changed. This setting is not selected by default. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/65f5b780-aa3f-4931-8997-12f81b45d6b5.png) #### Record Form[](/docs/record-list-control#record-form) Select from which [Screen](/v1/docs/screens) page to reference the controls that receive data components for each record. The page with these controls that receive the data components cannot be on the same page as the Record List control. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/042359aa-1a2e-45a0-b4ac-a18e4447dfba.png) The following message displays if no additional pages exist in this Screen from which to reference other controls: **No Data Available.** --- ### Columns Panel Settings Expand the **Columns** panel from the Properties Panel on the right. See the following procedures how to configure the column header(s) that display the record list data and from which control(s) on the additional page in this [Screen](/v1/docs/screens) to reference data components of each record for this control. ### Add a Column to This Record List Control Follow these steps to add a column to this control: 1. Access the **Columns** panel for this control while in Design mode, and then locate the **Column** setting. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/8899217d-f221-46b0-a0e4-5316f5451ed3.png) 2. Ensure that the **Edit as Options List** option displays. If the **Edit as JSON** option displays, click the **Edit as Option List** option. 3. Click the icon![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/6c9a6d3f-8846-42ee-84c5-3e5fda21acec.png)beside the **Column** label. The **Add Column** screen displays. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/34176f68-3d5d-45ad-91d0-b7b133cb0a4d.png) 4. In the **Column Header** setting, enter the column header label that displays in the record list. This column header represents a data component for each record in the record list. 5. In the **Value** setting, enter the **Variable Name** setting value for the control on the second page of this Screen that receives a data component for each record that corresponds with this column header. For example, use a [Line Input control](/v1/docs/line-input-control) with a **Variable Name** setting value of `LineInputFirstName` to receive each person's first name for each record in the list, and then associate that `LineInputFirstName` value with a column header labeled `First Name`. 6. Click **Save**. The column header displays in the **Column** list label. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/191d8290-9522-4236-ae4e-6f300bf5d284.png) ### Edit a Column Configuration in This Record List control Follow these steps to add a column to this control: 1. Access the **Columns** panel for this control while in Design mode, and then locate the **Column** setting. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/def87e12-3bd9-4919-9f78-16e2b97a8e30.png) 2. Ensure that the **Column** list label displays. If the **JSON Data** option displays, click the **Edit as Option List** option. 3. Click the![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/85917fbe-6d66-406d-bae5-2100cfe1e479.png)icon for the column to change its settings. The **Edit Option** screen displays. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/e1370fee-1f6b-47cf-8649-8ff9abd0ad11.png) 4. In the **Column Header** setting, edit the column header label that displays in the record list as necessary. This column header represents a data component for each record in the record list. 5. In the **Value** setting, edit the **Variable Name** setting value for the control on the second page of this Screen that receives a data component for each record that corresponds with this column header as necessary. For example, use a [Line Input control](/v1/docs/line-input-control) with a **Variable Name** setting value of `LineInputFirstName` to receive each person's first name for each record in the list, and then associate that `LineInputFirstName` value with a column header labeled `First Name`. 6. Click **Update**. The edited column displays below the **Column** list label. ### Delete a Column from This Record List Control Follow these steps to delete a column from in this control: 1. Access the [**Columns** panel](/v1/docs/record-list-control#columns-panel-settings) for this control while in Design mode, and then locate the **Column** setting. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/def87e12-3bd9-4919-9f78-16e2b97a8e30.png) 2. Ensure that the **Column** list label displays. If the **JSON Data** option displays, click the **Edit as Option List** option. 3. Click the![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/24a0ea14-2def-4df4-8ae8-37f1a7ff10f3.png)icon for the column to be deleted from this control. A message displays to confirm deletion of the option. 4. Click **Delete**. ### Sort the Order of the Options Follow these steps to sort the order of the columns that display in this control: 1. Access the [**Columns** panel](/v1/docs/record-list-control#columns-panel-settings) for this control while in Design mode, and then locate the **Column** setting. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/def87e12-3bd9-4919-9f78-16e2b97a8e30.png) 2. Ensure that the **Column** list label displays. If the **JSON Data** option displays, click the **Edit as Option List** option. 3. Drag the![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/a858c144-a9c9-498e-8ca4-020e9447a1fb.png)icon for each column up or down to sort the order they display in this control as necessary. ### Add Columns to This Record List Control Using a JSON Schema Follow these steps to add a column to this control using a JSON schema: 1. Access the **Columns** panel for this control while in Design mode, and then locate the **Column** setting. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/8899217d-f221-46b0-a0e4-5316f5451ed3.png) 2. Click the **Edit as JSON** option below the **Column** list label if this option does not currently displayed. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/c52f7ee9-fab2-47a6-81c6-c687f2dede05.png) The **JSON Data** setting displays. If a valid JSON schema has been configured previously, the **JSON Data** setting displays the JSON. Otherwise the setting is empty. 3. Click the icon![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/563b56d7-c908-405e-967f-55cebd92d928.png)beside the **JSON Data** option. The **Script Config Editor** displays. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/3ca9b43d-c0a5-41f0-b6f7-b7a7ef6df3ac.png) 1. Enter your control columns in the order they are to display in this control using JSON format. Use the scroll panel to the right of the JSON to scroll to different sections of the JSON if necessary. This is useful especially when you are editing a long JSON. 2. Click **Close** or the **Close** icon![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/25c81a06-ef30-4814-b84c-373288f9a3ac.png). The control columns are saved. --- ### Design Panel Settings Expand the **Design** panel from the Properties Panel on the right to configure the following properties: #### Text Color[](/docs/record-list-control#text-color) Select the text color that displays for this control. Optionally, click the **Clear Color Selection** option to remove the selected color. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/f7b88086-4970-49d8-a5ab-32d39d6a972d.png) #### Background Color[](/docs/record-list-control#background-color) Select the background color that displays for this control. Optionally, click the **Clear Color Selection** option to remove the selected color. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/2c46ea5b-4b77-4a11-9aa8-d62c5d87c0b1.png) --- ### Advanced Panel Settings Expand the **Advanced** panel from the Properties Panel on the right to configure the following properties: #### Visibility Rule[](/docs/record-list-control#visibility-rule) Specify an expression that indicates the condition(s) under which this control displays. See [Expression Syntax Components](/v1/docs/feel-expression-syntax#show-or-hide-screen-builder-controls). If this setting does not have an expression, then this control displays by default. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/c0aacbb8-0342-4ccd-bc45-6f1bccf5f214.png) For example, this control displays if the variable value **tip** is **1**. For a detailed example of the Visibility Rule setting, see [Show or Hide Controls Based on Button Selection](/v1/docs/example-show-or-hide-controls-based-on-button-selection). Note the following regarding how to use visibility rules: - To make this control hidden until another control contains a value, enter the **Variable Name** setting value of that control to this control's **Visibility Rule** setting. - [Visibility rules override custom CSS settings](/v1/docs/screen-design-best-practices#visibility-rules-override-custom-css-settings). - Do not to use visibility rules with Email-type Screens. Some email clients that do not render natively from a web browser, such as Microsoft Outlook or Mozilla Thunderbird for the desktop, alter the HTML during rendering and may break visibility rules. #### Device Visibility[](/docs/record-list-control#device-visibility) Select on which device types this control displays: - **Desktop:** The control displays only on desktop devices. Enable the **Show for Desktop** toggle key. - **Mobile:** The control displays only on mobile devices. Enable the **Show for Mobile** toggle key. - **Both:** The control displays on both desktop and mobile devices. Both toggle keys are enabled by default. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/be15e401-1a04-490f-b11d-a9d0afaa1518.png) #### CSS Selector Name Enter the value to represent this control in custom CSS syntax when in [Custom CSS](/v1/docs/custom-css#add-custom-css-to-a-processmaker-screen) mode. As a best practice, use the same **CSS Selector Name** value on different controls of the same type to apply the same custom CSS style to all those controls. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/b153b619-0665-4ed1-a97e-92109cc37809.png) Then, use this name in the [Custom CSS](/v1/docs/custom-css#apply-css-to-specific-processmaker-screen-controls) feature to apply CSS styling to this control as follows: ```plaintext [selector='Submit Form'] {    color: blueviolet; } ``` See the following best practices regarding custom CSS in Screens: - [Editing a CSS name to represent this control in custom CSS syntax](/v1/docs/screen-design-best-practices#css-selector-naming-best-practice) - [Visibility rules override custom CSS settings](/v1/docs/screen-design-best-practices#visibility-rules-override-custom-css-settings) --- ## Display-Type Screen Settings The Record List control has the following configurable settings in the Properties Panel for [Display](/v1/docs/screens#display-1)-type [Screens](/v1/docs/screens): - [**Variable** panel](/v1/docs/record-list-control#variable-panel-settings-1) - [**Configuration** panel](/v1/docs/record-list-control#configuration-panel-settings-1) - [**Columns** panel](/v1/docs/record-list-control#columns-panel-settings-1) - [**Design** panel](/v1/docs/record-list-control#design-panel-settings-1) - [**Advanced** panel](/v1/docs/record-list-control#advanced-panel-settings-1) --- ### Variable Panel Settings Expand the **Variable** panel from the Properties Panel on the right to configure the following properties: #### Variable Name[](/docs/record-list-control#variable-name-1) Edit the default **Variable Name** setting value for this control if necessary. The **Variable Name** setting value represents data in this control during Requests. Ensure that the **Variable Name** setting value is a unique name from other controls in this [Screen](/v1/docs/screens) and contains at least one letter. This is a required setting. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/5e540fcc-1dcf-48a9-b857-f1d0e3ca038e.png) Use the **Variable Name** setting value in the following ways: - Reference this control by its **Variable Name** setting's value. - Reference this control's value in a different Screen Builder control. To do so, use mustache syntax and reference this control's **Variable Name** value in the target control. Example: `{{ RecordListControl }}`. - Reference this value in [**Visibility Rule** setting expressions](/v1/docs/record-list-control#visibility-rule). See [best practices](/v1/docs/screen-design-best-practices#naming-request-variables-for-processmaker-screen-controls) when editing a Request variable name. #### List Label[](/docs/record-list-control#list-label-1) Edit the default label that displays for this control if necessary. **New Record List** is the default value. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/6be89b16-3f9c-482c-9dbf-c3f24d1a5a81.png) --- ### Columns Panel Settings > Follow these steps before configuring columns in this Record List control: > > 1. Save setting configurations in this Record List control if necessary. > 2. While in Design mode, open the Screen that contains the Record List control that recorded the list. > 3. Locate each control that corresponds with each specified column header. Each of these controls received a record data component when the record list was recorded in a Request. Make note of each control's **Variable Name** setting value, as you must provide this same value when configuring each column header in this Record List control. Expand the **Columns** panel from the Properties Panel on the right. See the following procedures how to configure the column header(s) that display the record list data and from which control(s) on the additional page in this [Screen](/v1/docs/screens) to reference data components of each record for this control. ### Add a Column to This Record List Control Follow these steps to add a column to this control: 1. Access the **Columns** panel for this control while in Design mode, and then locate the **Column** setting. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/8899217d-f221-46b0-a0e4-5316f5451ed3.png) 2. Ensure that the **Column** list label displays. If the **JSON Data** option displays, click the **Edit as Option List** option. 3. Click the icon![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/6c9a6d3f-8846-42ee-84c5-3e5fda21acec.png)beside the **Column** label. The **Add Column** screen displays. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/34176f68-3d5d-45ad-91d0-b7b133cb0a4d.png) 4. In the **Column Header** setting, enter the column header label that displays in the record list. This column header represents a data component for each record in the record list. 5. In the **Value** setting, enter the **Variable Name** setting value for the control on the second page of this Screen that receives a data component for each record that corresponds with this column header. For example, use a [Line Input](/v1/docs/line-input-control) control with a **Variable Name** setting value of `LineInputFirstName` to receive each person's first name for each record in the list, and then associate that `LineInputFirstName` value with a column header labeled `First Name`. 6. Click **Save**. The column header displays in the **Column** list label. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/191d8290-9522-4236-ae4e-6f300bf5d284.png) ### Edit a Column Configuration in This Record List control Follow these steps to add a column to this control: 1. Access the **Columns** panel for this control while in Design mode, and then locate the **Column** setting. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/def87e12-3bd9-4919-9f78-16e2b97a8e30.png) 2. Ensure that the **Column** list label displays. If the **JSON Data** option displays, click the **Edit as Option List** option. 3. Click the![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/85917fbe-6d66-406d-bae5-2100cfe1e479.png)icon for a column to change its settings. The **Edit Option** screen displays. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/e1370fee-1f6b-47cf-8649-8ff9abd0ad11.png) 4. In the **Column Header** setting, edit the column header label that displays in the record list as necessary. This column header represents a data component for each record in the record list. 5. In the **Value** setting, edit the **Variable Name** setting value for the control on the second page of this Screen that receives a data component for each record that corresponds with this column header as necessary. For example, use a [Line Input control](/v1/docs/line-input-control) with a **Variable Name** setting value of `LineInputFirstName` to receive each person's first name for each record in the list, and then associate that `LineInputFirstName` value with a column header labeled `First Name`. 6. Click **Update**. The edited column displays below the **Column** list label. ### Delete a Column from This Record List Control Follow these steps to delete a column from in this control: 1. Access the [**Columns** panel](/v1/docs/record-list-control#columns-panel-settings) for this control while in Design mode, and then locate the **Column** setting. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/def87e12-3bd9-4919-9f78-16e2b97a8e30.png) 2. Ensure that the **Column** list label displays. If the **JSON Data** option displays, click the **Edit as Option List** option. 3. Click the![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/24a0ea14-2def-4df4-8ae8-37f1a7ff10f3.png)icon for the column to be deleted from this control. A message displays to confirm deletion of the option. 4. Click **Delete**. ### Sort the Order of the Options Follow these steps to sort the order of the columns that display in this control: 1. Access the [**Columns** panel](/v1/docs/record-list-control#columns-panel-settings) for this control while in Design mode, and then locate the **Column** setting. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/def87e12-3bd9-4919-9f78-16e2b97a8e30.png) 2. Ensure that the **Column** list label displays. If the **JSON Data** option displays, click the **Edit as Option List** option. 3. Drag the![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/a858c144-a9c9-498e-8ca4-020e9447a1fb.png)icon for each column up or down to sort the order they display in this control as necessary. ### Add Columns to This Record List Control Using a JSON Schema Follow these steps to add a column to this control using a JSON schema: 1. Access the **Columns** panel for this control while in Design mode, and then locate the **Column** setting. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/8899217d-f221-46b0-a0e4-5316f5451ed3.png) 2. Click the **Edit as JSON** option below the **Column** list label if this option does not currently displayed. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/c52f7ee9-fab2-47a6-81c6-c687f2dede05.png) The **JSON Data** setting displays. If a valid JSON schema has been configured previously, the **JSON Data** setting displays the JSON. Otherwise the setting is empty. 3. Click the icon![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/563b56d7-c908-405e-967f-55cebd92d928.png)beside the **JSON Data** option. The **Script Config Editor** displays. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/3ca9b43d-c0a5-41f0-b6f7-b7a7ef6df3ac.png) 1. Enter your control columns in the order they are to display in this control using JSON format. Use the scroll panel to the right of the JSON to scroll to different sections of the JSON if necessary. This is useful especially when you are editing a long JSON. 2. Click **Close** or the **Close** icon![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/25c81a06-ef30-4814-b84c-373288f9a3ac.png). The control columns are saved. --- ### Design Panel Settings Expand the **Design** panel from the Properties Panel on the right to configure the following properties: #### Text Color[](/docs/record-list-control#text-color-1) Select the text color that displays for this control. Optionally, click the **Clear Color Selection** option to remove the selected color. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/f7b88086-4970-49d8-a5ab-32d39d6a972d.png) #### Background Color[](/docs/record-list-control#background-color-1) Select the background color that displays for this control. Optionally, click the **Clear Color Selection** option to remove the selected color. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/2c46ea5b-4b77-4a11-9aa8-d62c5d87c0b1.png) --- ### Advanced Panel Settings Expand the **Advanced** panel from the Properties Panel on the right to configure the following properties: #### Visibility Rule[](/docs/record-list-control#visibility-rule-1) Specify an expression that indicates the condition(s) under which this control displays. See [Expression Syntax Components for "Visibility Rule" Control Settings](/v1/docs/record-list-control#visibility-rule). If this setting does not have an expression, then this control displays by default. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/c0aacbb8-0342-4ccd-bc45-6f1bccf5f214.png) For example, this control displays if the variable value **tip** is **1**. For a detailed example of the Visibility Rule setting, see [Show or Hide Controls Based on Button Selection](/v1/docs/example-show-or-hide-controls-based-on-button-selection). Note the following regarding how to use visibility rules: - To make this control hidden until another control contains a value, enter the **Variable Name** setting value of that control to this control's **Visibility Rule** setting. - [Visibility rules override custom CSS settings](/v1/docs/screen-design-best-practices#visibility-rules-override-custom-css-settings). - Do not to use visibility rules with Email-type Screens. Some email clients that do not render natively from a web browser, such as Microsoft Outlook or Mozilla Thunderbird for the desktop, alter the HTML during rendering and may break visibility rules. #### Device Visibility[](/docs/record-list-control#device-visibility-1) Select on which device types this control displays: - **Desktop:** The control displays only on desktop devices. Enable the **Show for Desktop** toggle key. - **Mobile:** The control displays only on mobile devices. Enable the **Show for Mobile** toggle key. - **Both:** The control displays on both desktop and mobile devices. Both toggle keys are enabled by default. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/be15e401-1a04-490f-b11d-a9d0afaa1518.png) #### CSS Selector Name[](/docs/record-list-control#css-selector-name-1) Enter the value to represent this control in custom CSS syntax when in [Custom CSS](/v1/docs/custom-css#add-custom-css-to-a-processmaker-screen) mode. As a best practice, use the same **CSS Selector Name** value on different controls of the same type to apply the same custom CSS style to all those controls. ![](https://cdn.document360.io/2d311614-fcb7-4424-8b4c-d4d3091eebeb/Images/Documentation/b153b619-0665-4ed1-a97e-92109cc37809.png) Then, use this name in the [Custom CSS](/v1/docs/custom-css#apply-css-to-specific-processmaker-screen-controls) feature to apply CSS styling to this control as follows: ```plaintext [selector='Submit Form'] {    color: blueviolet; } ``` See the following best practices regarding custom CSS in Screens: - [Editing a CSS name to represent this control in custom CSS syntax](/v1/docs/screen-design-best-practices#css-selector-naming-best-practice) - [Visibility rules override custom CSS settings](/v1/docs/screen-design-best-practices#visibility-rules-override-custom-css-settings)