Defining field tabbing order method
Syntax
OPTIONS FIELD ORDER { CONSTRAINED | UNCONSTRAINED | FORM }
Usage
Tabbing order is used in interactive instructions such as INPUT, INPUT ARRAY, or CONSTRUCT, where individual fields can get the focus.
The FIELD ORDER runtime
option defines the default behavior when moving from field to
field with the TAB and SHIFT-TAB keys in GUI mode, and with the Up
/ Down arrow keys in TUI mode.
OPTIONS FIELD ORDER defines the global field order mode. The field order
mode can also be defined at the dialog level, with the FIELD ORDER dialog
attribute.By default, the tabbing
order is defined by the list of fields used by the program instruction.
This corresponds to FIELD ORDER CONSTRAINED option,
which is the default.
When using FIELD ORDER UNCONSTRAINED in TUI mode, the Up and Down arrow
keys will move the cursor to the field above or below the current field, respectively. When using
the default FIELD ORDER CONSTRAINED option, the Up and Down arrow keys move the
cursor to the previous or next field, respectively. If FIELD ORDER UNCONSTRAINED is
used, the Dialog.fieldOrder FGLPROFILE entry is ignored.
The UNCONSTRAINED option can only be supported in TUI mode, with a simple
form layout. It is not recommended to use this option in GUI mode.
The FIELD ORDER FORM option instructs interactive instructions to use the
tabbing order defined by the TABINDEX attributes of the current form fields.
With this option, tabbing order can be defined in the layout of the form, independently from the
program instruction. This is the preferred way in GUI mode. When FIELD ORDER FORM
is used, the Dialog.fieldOrder FGLPROFILE entry is ignored.
Example
Form "form1.per":
LAYOUT
GRID
{
First name: [f001 ] Last name: [f002 ]
Address: [f003 ]
}
END
END
ATTRIBUTES
EDIT f001 = FORMONLY.fname, TABINDEX = 2;
EDIT f002 = FORMONLY.lname, TABINDEX = 1;
EDIT f003 = FORMONLY.address, TABINDEX = 0;
END
Module
"main.4gl":MAIN
DEFINE rec RECORD
fname VARCHAR(20),
lname VARCHAR(20),
address VARCHAR(50)
END RECORD
OPTIONS INPUT WRAP
OPEN FORM f1 FROM "form1"
DISPLAY FORM f1
OPTIONS FIELD ORDER CONSTRAINED
INPUT BY NAME rec.*
OPTIONS FIELD ORDER UNCONSTRAINED
INPUT BY NAME rec.*
OPTIONS FIELD ORDER FORM
INPUT BY NAME rec.*
END MAIN