Режим таблицы

Программа работы с базой данных "Архитектурные памятники Санкт-Петербурга" выводит информацию в режиме формы, в каждый момент времени пользователь может видеть только одну запись. Такой режим работы с базой данных не всегда удобен. Если необходимо видеть одновременно несколько записей базы данных, то нужно обеспечить просмотр данных в режиме таблицы.

Процесс создания приложения, обеспечивающего просмотр базы данных в режиме таблицы, рассмотрим на примере программы работы с базой данных "Школа".

Пусть база данных "Школа" (псевдоним школа), представляет собой таблицу, которая находится в файле School.db. Записи таблицы school состоят из полей: Name (Имя), Fam (Фамилия), class (Класс), Adr (Адрес) и N (Личный номер). Поля Name, Fam, class и Adr являются полями символьного типа (тип А), а поле N — числовое, с автоувеличением.

Примечание

> Псевдоним Школа следует создать при помощи BDE Administrator, а таблицу (файл school.db) — при помощи Database Desktop.

Сначала в форму разрабатываемого приложения нужно добавить компоненты Table и DataSource, которые обеспечивают доступ к файлу данных, и установить значения их свойств (табл. 17.14).

Таблица 17.14. Значения свойств компонентов Table1 и DataSource1

| Свойство | Значение |
| Tablel . DatabaseName Tablel . TableName Tablel. Active DataSourcel . Dataset | Школа school . db True Tablel |

Для обеспечения просмотра и редактирования данных в режиме таблицы в форму приложения надо добавить компонент DBGrid, значок которого находится на вкладке Data Controls (рис. 17.13). Вид формы разрабатываемого приложения после добавления компонента DBGrid приведен на рис. 17.14.

Рис. 17.13. Значек компонента DBGrid

Рис. 17.14. Форма приложения после добавления компонента DBGrid

Компонент DBGrid обеспечивает представление базы данных в виде таблицы. Свойства компонента DBGridl определяют вид таблицы и действия, которые могут быть выполнены над данными во время работы программы. В табл. 17.15 перечислены некоторые свойства компонента DBGrid.

Таблица 17.15. Свойства компонента DBGrid

| Свойство | Определяет |
| Name | Имя компонента |
| DataSource | Источник отображаемых в таблице данных |
| Columns | Отображаемую в таблице информацию |
| Options . dgTitles | Разрешает вывод строки заголовка столбцов |
| Options . dgIndicator | Разрешает вывод колонки индикатора. Во время работы с базой данных текущая запись помечается в колонке индикатора треугольником, новая запись — звездочкой, редактируемая — специальным значком |
| Options . dgColumnResize | Разрешает менять во время работы программы ширину колонок таблицы |
| Options . dgColLines | Разрешает выводить линии, разделяющие колонки таблицы |
| Options . dgRowLines | Разрешает выводить линии, разделяющие строки таблицы |

Для того чтобы задать, какая информация будет отображена в таблице во время работы программы, нужно сначала определить источник данных для таблицы (установить значения свойства DataSource), затем — установить значения уточняющих параметров свойства Columns. Значение свойства DataSource задается обычным образом, то есть в окне Object Inspector. Чтобы установить значение свойства Columns, надо в окне Object Inspector выбрать это свойство и щелкнуть на кнопке с тремя точками. В результате открывается окно редактора колонок (рис. 17.15).

Рис. 17.15. Редактор колонок

Для того чтобы в компонент DBGrid добавить колонку, обеспечивающую просмотр содержимого поля записи файла данных, необходимо нажать кнопку Add New, находящуюся на панели инструментов в верхней части окна (это единственная доступная после запуска редактора кнопка), выделить добавленный элемент и, используя Object Inspector, установить значения свойств этой колонки (табл. 17.16). Свойство columns компонента DBGrid представляет собой массив компонентов типа TCoiumn. Каждой колонке соответствует элемент массива. Устанавливая значения свойств компонентов column, программист задает вид колонок компонента DBGrid, тем самым определяет вид всей таблицы.

Таблица 17.16. Свойства компонента column

| Свойство | Определяет |
| FieldName | Поле записи, содержимое которого выводится в колонке |
| Width | Ширину колонки в пикселах |
| Font | Шрифт, используемый для вывода текста в ячейках колонки |
| Color | Цвет фона колонки |
| Alignment | Способ выравнивания текста в ячейках колонки. Текст может быть выровнен по левому краю (taLeftJustify), по центру (taCenter) или по правому краю (taRight Justify) |
| Title. Caption | Заголовок колонки. Значением по умолчанию является имя поля записи |
| Title .Alignment | Способ выравнивания заголовка колонки. Заголовок может быть выровнен по левому краю (taLeftJustify), по центру (taCenter) или по правому краю (taRight Justify) |
| Title. Color | Цвет фона заголовка колонки |
| Title. Font | Шрифт заголовка колонки |

В простейшем случае для каждой колонки достаточно установить значение свойства FieldName, которое определяет имя поля записи, содержимое которого будет отображаться в колонке, а также значение свойства Title.Caption, определяющего заголовок колонки. В табл. 17.17 приведены значения свойств columns компонента DBGridl.

Таблица 17.17. Значения свойств компонента DBGrid1

| Компонент | FieldName | Title . Caption |
| DBGrid1. Columns [0] DBGrid1. Columns [1] | Fam Name | Фамилия Имя |

| Компонент | FieldName | Title . Caption |
| DBGrid1. Columns [2] DBGrid1 . Columns [ 3 ] | Class Adr | Класс Адрес,телефон |

Последнее, что надо сделать — добавить к форме компонент DBNavigator, настроив его на работу с таблицей-источником данных (свойству DataSource Нужно Присвоить значение Table1).

Окончательный вид формы приложения приведен на рис. 17.16.

Рис. 17.16. Форма после настройки компонента DBGrid1

После этого программу можно откомпилировать и запустить. Следует обратить внимание, что для того чтобы после запуска программы в окне появилась информация или, если база данных пустая, можно было вводить новую информацию, свойство Active таблицы-источника данных должно иметь значение True.

Работа с базой данных, представленной в виде таблицы, во многом похожа на работу с электронной таблицей Microsoft Excel. Используя клавиши перемещения курсора вверх и вниз, а также клавиши листания текста страницами (<Page Up> и <Page Down>), можно, перемещаясь от строки к строке, просматривать записи базы данных. Нажав клавишу <Ins>, можно добавить запись, а нажав клавишу <Del> — удалить запись. Для того чтобы внести изменения в поле записи, нужно, используя клавиши перемещения курсора влево и вправо, выбрать необходимое поле и нажать клавишу <F2>.