Occasionally you will see the option to work with 'Screen' values in Glide. This can sometimes seem very similar to Column Values – but they are different in a couple of respects.
Screen values are useful when working with Forms or Inline Lists. Let's look at two examples.
For our first example, we'll look at using Screen Values to filter a choice component. We're going to use the Property Manager template.
This screen shows a user adding a new inspection. This is a Form screen and therefore lives in a state of limbo – it's not yet a row in your table as it has not been submitted – but it still has values.
In this app, there are many properties (houses) and each property has multiple units (apartments). When we pick a property, we only want to have to choose from a list of units within that property. We don't want to pick from a list of all units from all properties.
Only show units where the property ID matches the property ID selected in the current screen.
Another use case for using Screen Values is when you have inline lists on details screens.
When you have an inline list on a details screen, you have two contexts:
The row of the current screen
The rows of the inline list
Without screen values, the inline list doesn't know what screen it is being shown on. With screen values, you can use the containing screen's values in your conditions.
For example, showing a list of related items without showing the current item.
In the Field Sales app above, we show a list of similar products at the bottom of each product in the catalogue. This is using an inline list.
When we create a filter on the inline list,
However, to exclude the current item we create a filter condition that says:
Show items where the SKU is not the SKU in the current screen.