Actions bound to the current row
Actions can be configured with the ROWBOUND
attribute to depend from the
current row.
When using a DISPLAY ARRAY
or INPUT ARRAY
dialog to control
a table view, actions can get the ROWBOUND
attribute in order to make the action only available
when there is a current row in the list.
The ROWBOUND
attribute must only be used with TABLE
and
TREE
containers (it does not make sense for SCROLLGRID
and
static lists in GRID
containers).
This attribute is generally used in mobile applications, when a list view requires actions to
be decorated in a row-specific way. For example, on Androidâ„¢ devices, the actions with the
ROWBOUND
attribute will be available by selecting the three-dot button on
the right of each list view cell.
DISPLAY ARRAY
dialog implements three actions:- The "refresh" action is not "rowbound", and will always be available (i.e. active/visible), even if the list is empty.
- The "check" action is rowbound, and will only be available if there is a (current) row in the list.
- The "delete" action created by the
ON DELETE
modification trigger is implicitly "rowbounded".
DISPLAY ARRAY a_orders TO sr.* ATTRIBUTES(UNBUFFERED)
...
ON ACTION refresh -- not rowbound
CALL fetch_orders()
ON ACTION check ATTRIBUTES(ROWBOUND)
CALL check_order(arr_curr())
ON DELETE -- implicitly rowbound
CALL delete_order(arr_curr())
...
END DISPLAY