Using 'Editable if' in Writeback

This topic contains the following sections:

Editable if - Row Level Control

The ‘Editable if’ feature allows you to control, at the row level, when specific columns should be editable. When designing your tables, it may be tempting to apply this feature to all your column settings.

However, it’s important to remember when using this feature, that like all good things, this feature should be used in moderation.

Otherwise, it may negatively affect performance as it checks and applies permissions to all the rows and columns that have this constraint applied.

Advanced Mode

To use view the option to apply the Editable if feature, slide the Advance Mode toggle.

Slide the Advanced Mode toggle to the right to turn it on, so you can view, select, and enter the expression to control at the row level, which columns are editable.

Figure 1: Shows the Country column is editable if Advanced mode is turned on

Viewing the Writeback Table

Figure 2: Viewing the writeback table

Adding an 'Editable if' Column Manually

To add the ‘Editable if’ column manually, in your worksheet:

  1. Click Edit Sheet (top right).

  2. Click Column.

  3. Select the column name from the displayed list.

  4. Click Data.

  5. Scroll down to view Editable if.

If you slide the toggle to the right and it displays as ‘Green’ - it applies the ‘Editable if’ at the table level.

If you slide the toggle to the left and it displays as ‘Red’ - it applies the ‘Editable if’ at the row level.

In the field, your expression must evaluate to either: 1 - for editable columns, or 0 - no editing is possible. In the example above, the tooltip shows that the toggle was set to 0, and is now 1 to make the column editable. This was achieved by providing the expression 'Column(Country column editable)'.

If you're looking for an inspiration, here are some additional examples:

'=Column(Verified) = 0'

'=if(WILDMATCH(Column(Text), 'Lorem*'), 1, 0)'

There are no constraints in how long or complex your expression is, but it has to evaluate to either 1 or 0.