ui.Dialog.nextField
Registering the next field to jump to.
Syntax
nextField(
name STRING )
- name is the form field name, see Identifying fields in dialog methods, or
"+NEXT"
/"+PREV"
,"+CURR"
to specify respectively the next, previous and current field.
Usage
The nextField()
method registers the name of the next field that must get the
focus when control goes back to the dialog.
This method is similar to the NEXT
FIELD
instruction, except that it does not implicitly break the program flow. If you
want to get the same behavior as NEXT FIELD
, the method call must be followed by a
CONTINUE DIALOG
instruction, or an equivalent instruction such as CONTINUE INPUT
, in case of
singular dialog.
When specifying "+NEXT"
as parameter, the dialog will register the field next to
the current field (like NEXT FIELD NEXT
). When passing "+PREV"
,
the dialog will register the previous field (like NEXT FIELD PREVIOUS
).
When passing +CURR
, it is equivalent to a NEXT FIELD CURRENT
instruction.
check_value()
function returns a field name where the value does not satisfy the
validation
rules.DEFINE fn STRING
...
ON ACTION save
IF ( fn:= check_values() ) IS NOT NULL THEN
CALL DIALOG.nextField(fn)
CONTINUE DIALOG
END IF
CALL save_data()
...
Like NEXT FIELD
, the nextField()
method is typically used in an
editable dialog (INPUT
, CONSTRUCT
, INPUT ARRAY
).
However, in a DISPLAY ARRAY
using the FOCUSONFIELD
attribute,
nextField()
can be used in conjunction with
DIALOG.setCurrentRow()
, to set the focus to a specific cell in the list.