Actions bound to the current row

Actions can be configured with the ROWBOUND attribute depending on whether there is a 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.

Important:

This feature is only for mobile platforms.

The ROWBOUND action attribute is to be used with TABLE and TREE 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.

In the following example, the DISPLAY ARRAY dialog implements three actions:
  • The "refresh" action is not "rowbound", and will always be available (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