DISPLAY TO / BY NAME in dialogs
The DISPLAY variable-list TO field-list
or DISPLAY BY NAME
variable-list
instruction fills the value buffers of specified form fields with the
values contained in the specified program variables. The DISPLAY TO / BY NAME
instruction changes the buffers directly in the current form, not the program variables bound to the
dialog. DISPLAY
can be used outside any dialog instruction, in the same way as the
CLEAR
instruction.
DISPLAY
also sets the modification flag of fields.
As DIALOG
is typically used with the UNBUFFERED
mode, there is no
reason to set field buffers in a DIALOG
block since any variable assignment will
synchronize field buffers. Actually, changing the field buffers with the DISPLAY
or
CLEAR
instruction will have no visual effect if the fields are used by a dialog
working in UNBUFFERED
mode, because the variables bound to the dialog will be used
to reset the field buffer just before giving control back to the user. So if you want to set field
values, just assign the variables and the fields will be synchronized. However, when using a CONSTRUCT
binding, you may want
to set field buffers with this DISPLAY
instruction, as there are no program
variables bound to fields (with CONSTRUCT
, only one string variable is bound to
hold the SQL condition).
Instead of using a DISPLAY
instruction to set the modification flag of fields to
simulate user input, use the DIALOG.setFieldTouched()
method instead.