ROWBOUND action attribute

The ROWBOUND attribute defines if the action is related to the row context of a record list.


(only in action handlers of record list dialog)



The ROWBOUND attribute is to be used in a DISPLAY ARRAY or INPUT ARRAY dialog action handler, when the action depends on the row context.

Actions marked with this attribute will be automatically enabled/disabled, based on current row existence, and will be rendered in a way depending on the front-end platform (typically on mobile with a tree-dot button on the right of the rows)

If an action view is defined in the form (like a button or toolbar item), with a qualified name, the rowbound action is not rendered as row action.

If a default action view is displayed for the action, it is automatically hidden when no current row context is available. The defaut action view can however be forced with DEFAULTVIEW=YES.

The ROWBOUND attribute can only be specified in a list handling dialog (INPUT ARRAY or DISPLAY ARRAY), as action attribute in the ATTRIBUTES() clause of ON ACTION handlers, and applies to the actions defined by the current dialog in the current window.

Default actions such delete action in INPUT ARRAY or when using an ON DELETE modification trigger automatically in DISPLAY ARRAY, are implicitly rowbound actions. Such actions must be available only when at least one row exists in the list. Therefore, the ROWBOUND attribute cannot be specified for such DISPLAY ARRAY modification triggers such as ON DELETE.

Note: The main purpose of the ROWBOUND attribute is to have the corresponding action enabled and disabled automatically by the runtime system. The default decoration of such action is front-end platform driven and is the consequence of using the ROWBOUND action attribute. Note that a DISPLAY ARRAY or INPUT ARRAY can be used with a plain form that show a single row at a time. The rowbound actions can also be used in such case, using form buttons as action views for example. These buttons will be automatically enabled/disabled according to the list content.


      CALL print_customer_info(arr_curr())