﻿# Customize table display on different form types

> [HTML Version](customizing-table-visibility.html)

After adding a **Table**-type field to the context, you can configure column display options and user interactions with them. These options vary depending on the form on which the table is placed.



Let's look at how to customize table column display:



- [In the Advanced Mode of app forms](#advanced-mode).

- [In the interface designer when customizing a form template, such as a widget or page](#table-interface-designer).

- [In the business process designer when customizing a task form](#table-task-form).

## Customize table display in Advanced Mode

If the app has the Advanced Mode enabled in its form settings, you can add a table from the context to create, view, or edit forms. You can set different table display options for each form. For example, you can hide columns on the app create form and leave them visible on the app view form.

To do this:

1. To the right of the app name, click the gear icon and select **Form Settings**.

2. In the window that opens, click [Advanced Mode](360028941032.md) and go to the **Create**, **View**, or **Edit** tab.

3. From the **Context** column, drag and drop the **Table**-type property you want to configure to the field on the right. Click the property name.   
**(table-visibility-12.png)**

4. In the window that opens, go to the **Columns Display** tab and configure the following options:  
**(table-visibility-10.png)**

	- Hide a column: **(eye-closed.png)**.

	- Make cells in a column required: **(required-star-red.png)**.

	- Make cells in a column read-only and restrict editing: **(hmfile_hash_96aa8b20.png)**.

	- **Allow deleting rows with read-only cells**. Enable this option to allow users to delete rows when filling out a table that contains non-editable columns. In the settings window, enable the following option:

		- **Inherit from parent**. Save the option value specified when creating the **Table** field in [general settings](table-visibility.md#generalsettings).

		- **Yes**. Users will be able to delete rows.

		- **No**. Users will not be able to delete rows.

	- **Disable adding rows**. Select **Yes** to prevent users from adding rows while filling out the table in the [new version](table-visibility.md#new-version).

5.  Save the settings.

## Customize table display in the interface designer



In the interface designer, you can add a **Table**-type property from the context to a specific form template in the [Field](form_line_widget.md) widget and configure the field display settings. The settings apply only to the current template.



To do this:



1. Open the form template in the [interface designer](360029250931.md#form_template).

2. [Add a Table-type property](360029250931.md#addingpropertytotheform) from the context to the modeling area and click the gear icon in the property header.

3. In the window that opens, go to the **Display Settings** tab and configure the settings as for an [app form in Advanced Mode](#columns-display).  
**(table-visibility-11.png)**

4. Save the settings.

Instead of manually checking the **Hide Column**, **Read-only**, and **Required** options, you can specify a [Yes/No switch](360009707032.md#yes-no-switch) context variable. Column constraints will be enabled or disabled depending on the value of the associated variable. To do this, click the **(bind_table-icon.png)** icon next to the column name in the specific option column and select the variable from the list.



Example of binding column display settings to a variable

  
Let’s say you are keeping records of materials in the **Stock** app. In the [app context](context_types.md), there is a **Materials** **in stock** property of the **Table** type, which stores information about the current stock of materials. You need to send the information to external customers, but without displaying the purchase price. To do this:

1. Add a **Yes/No switch** field named **External customer** to the app context.

2. Open the view [form template](360029250931.md) in [advanced mode](360028941032.md).

3. Select the **Materials in stock** property.

4. In the display settings, bind the **Purchase price** property with the **External customer** property.

5. Save the settings.

6. [Add](360029250931.md#addingpropertytotheform) the **External customer** property to the form.

7. Save and publish the form.

On the form that shows materials in stock, the **External customer** property will appear. If an employee selects it before sending the form, **Purchase price** will be hidden for the recipient.

## Customize table display on a task form in a business process

You can place a **Table**-type variable from the process context or a linked app on a task form and configure its display. These settings apply only to the current task and do not affect the table display on forms for other process tasks.



To configure the table display:

1. In the process diagram, double-click the **Task** graphic element and go to the **Form** tab.

2. In the **Name on form **column, select a **Table**-type field.

3. In the window that opens, go to the **Columns Display** tab and configure the settings as for an [app form in Advanced Mode](#columns-display).

4. Click **Save**.

