Scenario 1: "I have an building assessment app with 10 questions.  I want the fields to be editable until the user presses save.  Once saved, I want the fields to no longer be editable."

Scenario 2: "I have an building assessment app with 10 questions.  I want the fields to be editable until the assessment is marked Complete.  Once saved, I want the fields to no longer be editable."

Scenario 3: "I have an building assessment app with 10 questions.  I want the fields to be editable until the assessment is marked Complete.  Once saved, I want the fields to no longer be editable by anyone other than Bob."

You can enable these behaviors using the Editable_If expression, which is part of the column definition. Editable_If is a column constraint that you define via the Columns pane of the app editor. It tells the system if a particular value of a particular row can be edited.

For Scenario 1, the Editable_If expression should be ISBLANK([_THIS])  -- which means you can edit it if the value is blank.

For Scenario 2, the expression should be NOT ([Status] = "Complete") 

For Scenario 3, the expression should be OR ( NOT([Status] = "Complete"), USEREMAIL() = "bob@mydomain.com")

Of course, if you want, you can create far richer conditions to control whether individual column values can be edited.

Did this answer your question?