516______________________________________________Глава 9

if(DBGridl->SelectedField == TablelDep)

DBGridl->SelectedFieid->Value = ...;

}

Если значение свойства ButtonStyle равно cbsNone, то редактирование поля
производится без каких-либо подсказок в виде кнопок.

Компонент DBGrid — удобный, но далеко не единственный и не всегда луч-
ший компонент визуализации. Форма представления данных в нем не всегда удоб-
ная: слишком регулярная, без разделителей, не акцентирующая внимания пользо-
вателя на каких-то группах полей. Имеется много других компонентов визуализа-
ции и управления данными, расположенных на странице Data Control библиотеки
компонентов, которые нередко предпочтительнее DBGrid.

Отметим некоторые из этих компонентов.

DBText — аналог обычной метки Label, но связанный с данными. Он позволя-
ет отображать данные некоторого поля, но не дает возможности его редактировать.
Тип отображаемого поля может быть различным: строка, число, булева величина.
Компонент автоматически переводит соответствующие типы в отображаемые сим-
волы.

DBEdit — связанный с данными аналог обычного окна редактирования Edit.
Он позволяет отображать и редактировать данные полей различных типов: строка,
число, булева величина. Впрочем, если задать в компоненте Read0nly=true, то он,
как и DBText, будет служить элементом отображения, но несколько более изящ-
ным, чем DBText.

DBMemo — связанный с данными аналог обычного многострочного окна ре-
дактирования Memo. Он позволяет отображать и редактировать данные поля типа
Memo, а также данные любых типов, указанных выше для предыдущих компонен-
тов. Например, в этом компоненте можно отображать и редактировать характери-
стику сотрудника, если такое поле предусмотрено в таблице.

DBRichEdit — связанный с данными аналог обычного многострочного окна
редактирования текста в обогащенном формате RTF. Область применения та же,
что для компонента DBMemo.

DBImage — связанный с данными аналог обычного компонента Image. Ком-
понент позволяет отображать графические поля, например, фотографии сотрудни-
ков.

DBCheckBox — связанный с данными аналог обычного индикатора CheckBox.
Он позволяет отображать и редактировать данные поля булева типа. Если при вы-
воде данных поле имеет значение true, то индикатор включается. И наоборот, пр;

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

DBRadioGroup — связанный с данными аналог группы радиокнопок RadioG
roup. Компонент позволяет отображать и редактировать поля с ограниченны
множеством возможных значений. В нашем примере это может относиться к полю
Dep или к полю Sex. Свойство Items, как и в обычной группе радиокнопок, опреде-
ляет число кнопок и надписи около них. Но есть еще свойство Values, которое
определяет значения полей, соответствующие кнопкам. Таким образом, надписи у
кнопок и значения полей в общем случае могут не совпадать друг с другом. Если
свойство Values не задано, то в качестве значений полей берутся строки из свойст-
ва Items, т.е. надписи около кнопок. Компонент DBRadioGroup предоставляет еще
одну возможность ввода пользователем данных путем выбора, а не написанием
полного значения поля.