Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция 7.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.04 Mб
Скачать

3. Отображение и выбор значения поля из списка

Чтобы отобразить поле текущей записи и выбрать этому полю новое значения,

Служат списки — компоненты DBListBox, DBCoraboBox, DBLookupComboBox и

DBLookupListBox. По своей функциональности списки напоминают группу пере­ключателей DBRadioGroup, однако предоставляют большие возможности. Список DBComboBox также обеспечивает возможность ввода в поле произвольного значения.

3.1. Простой и комбинированный списки

Компоненты DBListBox и DBComboBox позволяют пользователю выбирать один из строковых элементов. При выборе нужной строки простого списка DBListBox содержащееся в ней значение автоматически заносится в поле, с которым свя­зан этот список. в дополнение к этому комбинированный список DBComboBox позволяет вводить произвольное значение.

Замечание

Новое значение не фиксируется в поле и, соответственно, не отображается в других визуальных компонентах, связанных с этим же набором данных. На рис. 8.2 в списке для поля unit выбрано новое значение Упаковка, однако в сетке DBGrid это не отображается Закрепление в поле нового значения, а так­же отображение этого значения в других визуальных компонентах, связанных сданным полем, произойдет при переходе к другой записи.

Рис. 8.2. Использование простого списка

3.2. Списки, сформированные по значениям поля набора данных

В простом и комбинированном списках перечень возможных значений поля формируется программистом и в общем случае не зависит от значений записей наборов данных. Иногда это может оказаться неудобным и привести к ошибкам ввода или выбора. В Delphi имеются компоненты DBLookupListBox и DBLookupComboBox, которые также предназначены для выбора значения из списка или непосредственного ввода значения в поле редактирования (только для DBLookupComboBox). Во многом эти компоненты похожи на простой список DBListBox и комбинированный список DBComboBox, соответственно, и отличаются от них только способом формирования списка возможных значений.

Принципы работы с компонентами DBLookupComboBox и DBLookupListBox практически такие же, как с полем выбора, которое было рассмотрено в предыдущей главе. Основное отличие заключается в том, что поле выбора создается с по­мощью Редактора полей, и основные его свойства задаются в специальном ок­не, а в случае указанных компонентов для списка используется один из них (DBLookupComboBox или DBLookupListBox), а свойства устанавливаются, как прави­ло, через Инспектор объектов.

Компонент DBLookupComboBox (или DBLookupListBox) связывается с полем "свое­го" набора данных через свойства DataSource и DataField, а для формирования списка используются свойства ListSource типа TDateSource и DataField типа String, указывающие на второй набор данных и его поле, используемое для за­полнения списка.

В свойстве KeyField типа string указывается поле второго набора данных, зна­чение которого заносится в поле, связанное с компонентом списка.