ui.Dialog.setArrayLength
Sets the total number of rows in the specified list.
Syntax
setArrayLength(
name STRING,
length INTEGER )
- name is the name of the screen record, see Identifying screen-arrays in ui.Dialog methods.
- length is the new size of the array.
Usage
The setArrayLength()
method
is used to specify the total number of rows when using the DISPLAY
ARRAY
paged mode. The name of the screen array is passed
to identify the list, followed by an integer expression defining
the number of rows.
When using a regular dynamic array without paged mode (without the ON FILL
BUFFER
clause), you don't need to specify the total number of rows to the
DIALOG
instruction. It is defined by the number of elements in the array. However,
when using the paged mode in a DISPLAY ARRAY
, the total number of rows does not
correspond to the elements in the program array, because the program array holds only a page of the
whole list. In any other case, a call to this method is just ignored.
A call to setArrayLength()
will not trigger the execution of the ON FILL
BUFFER
clause immediately: This trigger will be executed when the control goes back to the
dialog instruction, after all user code following setArrayLength()
has been
executed.
In a paged mode DISPLAY ARRAY
using COUNT=-1
, before calling
setCurrentRow(screen-array, row-index)
, be
sure to provide the actual number of rows with ui.Dialog.setArrayLength( screen-array, count
)
where count > row-index. Otherwise, the
setCurrentRow()
call will have no effect, if the dialog has not yet seen
row-index rows through ON FILL BUFFER
.