Иллюстрированный самоучитель по Delphi 7 для профессионалов

Механизм синхронного просмотра. Компоненты TDBLookupListBox и TDBLookupComboBox.

Непосредственным предком компонентов синхронного просмотра данных является класс TDBLookupControl, который инкапсулирует список значений для просмотра и сам механизм синхронного просмотра.

Как и в любом другом компоненте отображения данных, в компонентах синхронного просмотра должны присутствовать средства связывания с требуемым полем некоторого набора данных (табл. 15.7). Это уже известные свойства: Datasource – применяется для задания набора данных через компонент TDataSource и DataField – для определения требуемого поля набора данных. Для синхронного просмотра следует выбирать такое поле, значения которого не дают пользователю полной информации об объекте и совпадают с ключевым полем в таблице синхронного просмотра. Название этого поля может не совпадать с названием ключевого поля, но типы данных должны быть одинаковыми.

Примечание
При проектировании баз данных желательно, чтобы такие поля все же носили одинаковые названия
.

Теперь необходимо задать таблицу синхронного просмотра, ключевое поле и поле синхронного просмотра.

Набор данных, содержащий указанные поля, определяется через соответствующий компонент TDataSource в свойстве ListSource.

Ключевое поле задается свойством KeyField. Во время работы компонента в свойстве KeyValue содержится текущее значение, которое связывает между собой два набора данных.

Поле синхронного просмотра определяется свойством ListField. Здесь можно задавать сразу несколько полей, которые будут отображаться в компоненте синхронного просмотра. Названия полей разделяются точкой с запятой. Если свойство не определено, то в компоненте будут отображаться значения ключевого поля. Свойство ListFieldindex служит для выбора основного поля из списка. Дело в том, что компоненты синхронного просмотра поддерживают механизм наращиваемого поиска, который позволяет быстро находить нужное значение в больших списках. Свойство ListFieldindex определяет, какое поле используется при наращиваемом поиске. В компоненте TDBiookupComboBox свойство ListFieldindex также определяет, какое поле будет передано в строку редактирования.

Таблица 15.7. Основные свойства, включающие механизм синхронного просмотра.

Объявление Тип Описание
property KeyFieid: string; Pb Ключевое поле таблицы синхронного просмотра
property KeyValue: Variant; Pu Текущее значение ключевого поля
property ListFieid: string; Pb Поле или список полей синхронного просмотра в таблице синхронного просмотра
property ListFieidindex: Integer; Pb Номер основного поля синхронного просмотра (используется, когда свойство ListField содержит список полей)
property ListSource: TDataSource; Pb Указывает на компонент TDataSource, связанный с таблицей синхронного просмотра
property NullValueKey: TShortCut; Pb Определяет комбинацию клавиш, нажатие которых задает нулевое значение поля
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.