Table views / Built-in table features |
List controllers implement a built-in find. This feature can be disabled if not required.
The DISPLAY ARRAY and INPUT ARRAY block blocks support the built-in find feature by default.
This feature works with any list container (TABLE, TREE, SCROLLGRID ).
The built-in find creates the implicit "find" and "findnext" actions. These actions can be decorated, enabled and disabled as regular actions.
When the user triggers the "find" action (default accelerator is Ctrl-F), the dialog opens a popup window to let the user enter a search value. On validation with the OK button, the dialog starts to search a row where a field value matches the value entered in the find dialog. The "find" action starts the search from the current row. After a first search, the user can trigger the "findnext" action (default accelerator is Ctrl-G), in order to continue the search in the rest of the record list, without opening the find dialog again (the current search value will be reused).
By default, any table column is scanned, but the user can select a specific column in the find dialog box, as long as a column title is available. Case-sensitive or insensitive search as well as wraparound options are also available.
The value entered in the find dialog is compared to all fields of visible columns, except columns of the type TEXT or BYTE. The comparison is based on the formatted value. For example, a MONEY column will display values formatted with the currency symbol. To match values in that column, the user must enter exactly the same value (i.e. with the currency symbol and the correct decimal separator). When using COMBOBOX fields, the find searches in the visible values of combobox items.
Only text widgets displaying values are searched. Columns using widgets such as images, radio-groups, checkboxes are not searched. Further, the find function ignores PHANTOM fields, hidden fields and fields defined with the INVISIBLE attribute.
Only rows in memory can be searched. When using the paged-mode (ON FILL BUFFER), the built-in search is disabled. When implementing dynamic tree views , the built-in find will only search the tree nodes available in the program array.
If the dialog defines an explicit ON ACTION find or ON ACTION findnext, the default built-in find is disabled.