Приложения для работы с локальными базами данных 515

Рис. 9.38           <

Главное окно
редактора столбцов
(а) и ячейка поля
Dep при ButtonStyle
= cbsAuto (б) и при
ButtonStyle =
cbsEllipsis (в)

cbsAuto    Появление при редактировании кнопки, связанной с выпадающим

списком допустимых значений

cbsEllipsis  Появление при редактировании кнопки с многоточием «...», при
щелчке на которой наступает событие OnEditButtonClick компо-
нента DBGrid

cbsNone    Обычное редактирование без каких-либо кнопок

Если установить значение cbsAuto (оно принято по умолчанию), то можно до-
полнительно установить свойство столбца PickList, которое представляет собой
список допустимых значений поля. В нашем примере для столбца Dep можно зане-
сти в список PickList значения «Бухгалтерия», «Цех 1» и «Цех 2». Тогда при попыт-
ке пользователя редактировать данное поле в соответствующей ячейке таблицы
появится кнопка, связанная с выпадающим списком, содержащим допустимые
значения (рис. 9.38 б). Аналогично можно было бы задать значения «м» и «ж» в
списке PickList поля Sex. Свойство DropDownRows (по умолчанию 7) определяет
допустимое число строк в списке, отображаемое без появления полосы прокрутки.
Если реальное число строк меньше DropDownRows, размер списка устанавливает-
ся автоматически.

Аналогично происходит редактирование, если значение cbsAuto относится к
столбцу, содержащему поле просмотра (см. раздел 9.10.2). Тогда выпадающий
список заполняется автоматически. Если же данное поле не является результиру-
ющим полем просмотра и список PickList не заполнен, то никакой кнопки при ре-
дактировании не появится.

Если значение свойства ButtonStyle равно cbsEllipsis, то при попытке пользо-
вателя редактировать данное поле в нем появляется кнопка с многоточием «...»
(см. рис. 9.38 в). При щелчке на этой кнопке наступает событие OnEditButtonClick
компонента DBGrid. В обработчике этого события вы можете предусмотреть показ
пользователю какого-то списка возможных значений или предложить диалог, в ко-
тором пользователь может в удобной форме выбрать требуемое значение. В обработ-
чике события OnEditButtonClick вы можете узнать, какое поле редактируется, по
свойству SelectedField компонента DBGrid. Это же свойство позволит вам занести в
поле установленное пользователем значение. Например:

17*