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

Есть еще несколько компонентов визуализации и управления данными, кото-
рые мы рассмотрим несколько позднее. Все перечисленные компоненты имеют два
основных свойства: DataSource — источник данных (компонент типа TDataSour-
се) и DataField — поле, с которым связан компонент.

Перечисленные компоненты, как, впрочем, и любые обычные метки и другие
компоненты, могут размещаться непосредственно на форме, на любой панели, а
могут размещаться в специальном компоненте — таблице DBCtrlGrid. Этот компо-
нент состоит из нескольких панелей, из которых проектируется только первая, а
остальные повторяют структуру первой, но относятся к последующим записям
таблицы. DBCtrlGrid имеет свойство DataSource, которое автоматически переда-
ется всем расположенным на панелях компонентам, связанным с данными. Свойст-
во RowCount определяет число строк в таблице (по умолчанию 3), а свойство CoICo-
unt — число колонок в таблице (по умолчанию 1). Ширину и высоту панелей
DBCtrlGrid можно задавать свойствами PanelWidth и PanelHeight соответственно,
или задавая общую ширину и высоту компонента свойствами Width и Height. В этом
случае C++Builder может автоматически округлить заданные вами значения так,
чтобы обеспечить равные ширину и высоту всех панелей.

Опробуйте эти компоненты в работе. На рис. 9.39 показано приложение, по-
строенное с использованием рассмотренных элементов. Компонент DBCtrlGrid
имеет 3 строки и 3 столбца. На панели этого компонента в данном случае располо-
жен всего один компонент DBText, связанный с полем Fam. В целом весь компо-
нент DBCtrlGrid отображает алфавитный список сотрудников (таблица использует
индекс fio). В нижней части экрана располагается подробная информация о со-
труднике. Отдел, в котором работает сотрудник, отображается компонентом DBE-
dit, а остальные — компонентами DBText. Компоненты, отображающие фамилию,
имя и отчество, расположены без промежутков, так что образуют сплошную поло-
су. В компоненте DBEdit установлено Read0nly=false, так что пользователь мо-
жет редактировать эту информацию. Таким образом, перемещаясь по списку со-
трудников, пользователь может просматривать информацию о выбранном сотруд-
нике и частично ее редактировать, перемещая, например, с помощью окна DBEdit
сотрудника в другое подразделение.

Рис. 9.39

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

Id

J

..ы

Кнопка Больше... в правом нижнем углу позволяет открыть дополнительное
окно (рис. 9.40), в котором отображается характеристика и фотография сотрудни-
ка. Для этого используются соответственно компоненты DBImage и DBMemo. Ха-
рактеристику, загружаемую в DBMemo, пользователь может редактировать.

Размещение компонентов визуализации на отдельной форме не вызывает ни-
каких принципиальных сложностей. Надо только в модуле дополнительной фор-
мы сослаться с помощью директивы препроцессора #include на модуль основной
формы, чтобы получить доступ расположенному на ней компоненту типа TDataSo-

urce. Вспомним, что эту ссылку проще всего сделать командой File Include Unit Hdr.

Тогда при задании свойств DataSource компонентов, расположенных на вспомога-