Механизм синхронного просмотра. Компоненты TDBLookupListBox и TDBLookupComboBox.
В качестве примера рассмотрим приложение Demo Lookup (рис. 15.5), в котором с набором данных таблицы Orders из базы данных DBDEMOS связаны компоненты TDBGrid и TDBLооkupрСоmbоВох. Во втором компоненте при перемещении по записям набора данных отображается имя покупателя, оформившего текущий заказ.
Рис. 15.5. Главная форма проекта DemoLookup
Ключевые свойства компонента настроены следующим образом.
Свойство Listsource указывает на компонент custsource типа TDataSource, который связан с набором данных синхронного просмотра custTable.
Свойство ListFieid указывает на поле company, все значения которого доступны в списке компонента.
Свойство KeyField указывает на поле custNo, которое имеется в двух таблицах и по которому осуществляется связь.
Рассмотрим основные свойства и методы самих компонентов отображения данных, за исключением тех, которые представлены в табл. 15.7 и полностью идентичны для двух компонентов.
Компонент TDBLookupListBox
Компонент представляет собой список значений поля синхронного просмотра для поля, заданного свойством DataField, из набора данных DataSource. Его основное назначение – автоматически устанавливать соответствие между полями двух наборов данных по одинаковому значению заданного поля исходной таблицы и ключевого поля таблицы синхронного просмотра. В списке синхронного просмотра отображаются возможные значения для редактирования поля основной таблицы.
По своим функциональным возможностям компонент совпадает с компонентом TDBListBox.
Компонент TDBLookupComboBox
Компонент представляет собой комбинированный список значений поля синхронного просмотра для поля, заданного свойством DataField, из набора данных DataSource. Его основное назначение – автоматически устанавливать соответствие между полями двух наборов данных по одинаковому значению заданного поля исходной таблицы и ключевого поля таблицы синхронного просмотра. В списке синхронного просмотра отображаются возможные значения для редактирования поля основной таблицы.
По своим функциональным возможностям компонент совпадает с компонентом TDBComboBox.