In cases where you want to map database fields or other program variables to the user interface, input field controls and selection box controls may be linked to Natural variables. This makes it easier to modify and query them.
If the end user has entered data in an input-field control or a sebox control and sets the
focus to another dialog element, a leave event occurs and the content (STRING
)
is moved to the variable. Thus, the variable is updated. Note that the variable will
not be updated if the end user enters data and a change event occurs.
To refresh the content of the dialog element after the linked variable has been
modified in code
Use the PROCESS GUI
statement action REFRESH-LINKS
.
Modifying and querying input field controls with the ASSIGN
statement would normally work like this:
... #IF-1.STRING := '12345' #TEXT := #IF-1.STRING ...
However, you can also link a Natural variable to the input field control or selection box control. You can also link an indexed variable to a dialog element or an array of dialog elements.
To link a variable in Natural code, set the attribute LINKED
to TRUE
and
modify the attribute VARIABLE
by setting it to the Natural
variable name:
... #IF-1.LINKED := TRUE #IF-1.VARIABLE := MYVARIABLE ...
Double-click on your input field control. The corresponding attributes window appears.
Choose the String entry. The Source for handlename dialog box appears.
button to the right of theChoose Linked variable.
Enter the variable name (such as MYVARIABLE
in the example above).
There are two possibilities to link an indexed variable such as MYVARIABLE
(A20/1:5)
:
you link a single dialog element to the indexed variable; then you specify the index,
such as MYVARIABLE(2)
in the variable name field of the Source for handlename dialog box,
or
you link an array of dialog elements to the indexed variable; then you do not specify
an index in the variable name field. In this case, the occurrences of the array and the
index of the variable must be compatible. MYVARIABLE (A20/1:5)
could be
linked to a one-dimensional array with up to five occurrences.