Understanding the built-in seek

During a DISPLAY ARRAY dialog or sub-dialog, when the user types alphabetic characters on the keyboard, the runtime system will automatically seek to the next row having a character field that contains a value starting with the typed characters. The seek search restarts from the current row when the user types a new characters on the keyboard.

Numeric, date/time and large data (TEXT/BYTE) columns are ignored. Only character columns are searched by this quick find procedure.

The end user can rapidly type several characters on the keyboard, to search for a value that starts with the typed characters. After a given timeout (less than a second), the seek buffer is cleared and a new search filter can be taken into account.

The seek search is case-insensitive.

If no row could be found from the typed characters, the [Not found] error -8105 will be displayed automatically.

If an alphabetic character is used as action accelerator, the built-in seek feature is disabled, because the accelerator must fire the corresponding action.

Built-in seek works with any list container (TABLE , TREE , SCROLLGRID).

Only rows in memory can be searched. When using page-mode (ON FILL BUFFER), the built-in seek is disabled. When implementing dynamic tree views , the built-in seek will only search the tree nodes available in the program array.

By default, any character column of the list is scanned. But if the list gets sorted, the runtime system considers that the sort column is the most important and searches only in that column.