На этом шаге мы рассмотрим компонент TRxDBComboBox
Компонент TRxDBComboBox (рис.1) почти полностью аналогичен стандартному компоненту из VCL TDBComboBox и имеет те же самые свойства, методы и события. Однако по сравнению с TDBComboBox у этого компонента есть некоторые дополнительные возможности и свойства.
TRxDBComboBox позволяет использовать в качестве значений для поля FieldName значения из дополнительного списка Values. Для того, чтобы это работало, необходимо установить свойство EnabledValues в True. В противном случае функциональность этого компонента ничем не будет отличаться от TDBComboBox.
Рис.1. Компонент TRxDBComboBox
Рассмотрим некоторые свойства компонента:
Свойство | Описание |
---|---|
property EnableValues: Boolean; | Если значение EnabledValues установлено в True, то значения для текущего FieldName будут устанавливаться из списка Values. В противном случае значения, как и в стандартном TDBComboBox, будут браться из Items. |
property Values: TStrings | Список значений, используемых компонентом TRxDBComboBox при установленном в True значении свойства EnableValues. |
Приведем пример: поместим на форму компоненты RxDBGrid1, Table2, DataSource2 – для связи базы данных, RxDBComboBox1 (рис.2).
Рис.2. Форма с размещенными на ней компонентами RxDBGrid1,
Table2, DataSource2, RxDBComboBox1
Компонент RxDBComboBox1.
Установим свойство DataSource в значение DataSource2, DataField в значение ‘Ф.И.О.'
Свойство Items:
‘Белых Ксения Владимировна'
‘Волосников Алексей Александрович'
‘Предеина Дарья Александровна'
Свойство EnableValues=True.
Теперь возможно выбирать поле Ф.И.О. из списка RxDBComboBox1 рис.3(а-в).
Рис.3а. В строке компонента RxDBComboBox1
отображается 'Ф.И.О.' первой строки таблицы
Рис.3б. Выбор значения с помощью списка
Рис.3в. Поле 'Ф.И.О.' в первой строке таблицы изменено
Текст этого примера можно взять здесь.
На следующем шаге мы рассмотрим компонент TRxQuery.