Шаг 6.
Компоненты библиотеки RX.
Вкладка RX DBAware. Компонент TRxLookupEdit

    На этом шаге мы рассмотрим компонент TRxLookupEdit.

    Компонент TRxLookupEdit (рис.1) представляет собой редактор с возможностью как прямого ввода текста пользователем в строке редактирования, так и выбора текста из выпадающего списка, заполняемого значениями из базы данных. При открытом списке или при значении свойства PopupOnlyLocate = False набор пользователем символов с клавиатуры приводит к позиционированию списка на ближайшую запись, совпадающую с введенным текстом.


Рис.1. Компонент TRxLookupEdit

    Для заполнения выпадающего списка используются свойства LookupSource, LookupField, LookupDisplay и LookupDisplayIndex, аналогично списку компонента TRxDBLookupCombo.

   Введенное пользователем или выбранное из списка значение доступно через свойство Text. Свойство LookupValue (read-only) позволяет получить значение ключевого поля из lookup-набора данных (заданного свойством LookupField), если пользвателем был сделан выбор из списка.

   Рассмотрим некоторые свойства компонента:

Таблица 1. Свойства компонента TRxLookupEdit
Свойство Описание
property PopupOnlyLocate: Boolean; Свойство определяет, будет ли производится поиск вводимого пользователем значения в lookup-наборе данных при закрытом выпадающем списке. По умолчанию имеет значение True, и поиск производится только при открытом списке.
property LookupDisplayIndex: Integer; В случае если свойство LookupDisplay задает более одного поля для отображения в списке, значение свойства LookupDisplayIndex определяет номер поля, значение которого возвращается свойством DisplayValue и отображается в строке компонента TrxDBLookupCombo.
property LookupValue: string; Run-time only. Свойство позволяет получить значение LookupField из набора данных LookupSource, если текст в редакторе был выбран из выпадающего списка. Если текст был введен пользователем вручную, и в lookup-наборе данных нет записей с соответствующим значением поля LookupDisplay, то значение свойства LookupValue равно пустой строке. При присвоении значения свойству LookupValue, если соответствующее значение найдено в наборе данных, свойству текст присваивается значение поля LookupDisplay.
property ListStyle: TLookupListStyle; Свойство определяет стиль отображения списка при наличии в нем нескольких колонок (полей таблицы или запроса БД).
  • lsFixed (по умолчанию) - задает отображение колонок с фиксированной шириной, определяемой свойством DisplayWidth соответствующих полей БД.
  • lsDelimited - задает отображение значений из нескольких полей последовательно через разделитель, определенный свойством FieldsDelimiter.

    Компонент TRxLookupEdit можно связать с таблицой и выбирать значение определенных полей.

   Например, поместим на форму компоненты RxDBGrid1, Table2, DataSource2 – для связи базы данных и таблицы, RxLookupEdit1 (рис.2).


Рис.2. Форма с размещенными на ней компонентами RxDBGrid1, Table2, DataSource2, RxLookupEdit1

    Установим свойство LookupSource компонента RxLookupEdit1 в значение DataSource2, LookupField в значение ‘Адрес', свойство PopupOnlyLocate = False, тогда, выбирая в строке редактирования компонента значение, в таблице будет происходить позиционирование на строку, имеющую это значение (рис.3(а-б)).


Рис.3а. Выбор текста в редактор не совершен


Рис.3б. Выбор текста с помощью списка

       Текст этого примера можно взять здесь.

    На следующем шаге мы рассмотрим компонент TDBDateEdit.




Предыдущий шаг Содержание Следующий шаг