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