ROWBOUND action attribute

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

Syntax

(only in action handlers of record list dialog)

ROWBOUND

Usage

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.

Rowbound action views can be accessed with the three-dot button on the right of TABLE, TREE and SCROLLGRID rows.

If the action is disabled, the corresponding rowbound action view of the three-dots button will not be displayed.

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.

Automatic update and delete actions of INPUT ARRAY, as well as actions created by ON UPDATE and ON DELETE modification trigger 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 in DISPLAY ARRAY modification triggers.

Note: The main purpose of the ROWBOUND attribute is to have the corresponding action enabled and disabled automatically by the runtime system, depending on the existence of a row. The default decoration of such action is front-end platform driven and is the consequence of using the ROWBOUND action attribute. 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.

Example

DISPLAY ARRAY ...
   ...
   ON ACTION print ATTRIBUTES(ROWBOUND,TEXT="Print")
      CALL print_customer_info(arr_curr())
   ...