Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИОСУ.doc
Скачиваний:
33
Добавлен:
19.03.2015
Размер:
14.55 Mб
Скачать

48. Работа с визуальным компонентом tdbGrid и настройка полей таблиц.

Основные совйства:

propertyColumns:TDBGridColumns; - описывает отдельные столбцы таблицы

propertySelectedIndex:Integer; - задает номер текущего столбца

propertySelectedField:TField; - указывает на объект типаTField, который будет соответствовать текущему столбцу таблицы.

propertyFieldCount:Integer; - доступно во время выполнения программы и содержит число видимых столбцов таблицы.

propertyFields[Index:Integer]:TField; - позволяет получить доступ к отдельным столбцам, где индекс определяет номер столбца в массиве и принимает значение в интервале от 0 доFieldCount-1.

propertyColorиpropertyFixedColor:TColor; - задают цвет сетки и ее фиксированных элементов.

propertyTitleFont:TFont; - определяет шрифт, использующийся для вывода заголовков столбцов.

Доступ к параметрам таблицы возможен через свойство Options:TGridOptions. Оно представляется в виде множества и по умолчанию оно содержит следующую комбинацию значений:

[dgEditing,dgTitles,dgIndicator– выводится указатель в начало строки текущей записи,dgColumnResize– разрешается с помощью мыши менять размеры столбцов,dgTabs– позволяет использовать клавишиTabиShift+Tabдля перемещения.

При щелчке на заголовке и на ячейке генерируется событие onTitleClickиonSetClick, которые имеют типTDBGridEventи описываются следующим образом:

type TDBGridClickEvent=procedure(Column: TColumn) of Object;

Column– представляет собой столбец, по которому был произведен щелчок. Для работы с событиями предания/потери фокуса ввода понадобятсяOnColEnterиOnColExit:TNotifyEvent.

Для настройки необходимо из вспомогательного, дополнительного контекстного меню компонента TTableобратиться к командеFieldsEditor, где из меню редактора выбрать командуAddFields. В ответ будет предложен список всех полей выбранной таблицы. Далее подтвердить или отменить выбор. После выбора полей в окнеAddFieldsсписок полей перенести в окноFieldsEditor. Для работы с полями компонентаDBGridнеобходимо вызвать командуColumnsEditor, которая вызывается из контекстного меню. Для определения характеристик столбцов в инспекторе объектов можно:

1. Определить характеристики заголовков столбцов: шрифт, цвет, название, через свойства: caption,font,color. Работа с заголовком проходит под разделомTitle.

2. Определить характеристики полей. Для определения понадобятся аналогичные свойства, что и при настройке заголовка, кроме свойства caption.

3. Сортировка записей в TDBGrid. Для изменения сортировки записей в наборе данныхTable, необходимо использовать свойствоTableIndexкомпонентаTTableи выбрать нужные столбцы для изменения сортировки.

Для создания объектов столбцов используется редактор ColumnEditor, который открывается с помощью вспомогательного меню визуального компонентаGridили через свойствоColumnsв окне инспектора объектов. Редактор создает статические столбцы. И, если хотя бы один из столбцов является статическим, то динамические столбцы не создаются. По умолчанию для каждого поля набора данных, связанного сTBDGridавтоматически создается один столбец и все столбцы в таблице будут доступны. Окно редактора столбцов содержит элементы управления в виде статических кнопок: добавитьAdd, добавить все столбцы из набора данныхAddAll, удалитьDelete. Порядок следования столбцов в визуальном компоненте определяется установкой значенияFieldName. После связывания столбца и поля, настраивается свойствоTitle, отвечающее за заголовок и свойствоField. Если для таблицы не создавались компонентыTField, то характеристики и порядок следования определяется структурой записи в момент создания таблицы.

TDBGrid и его динамические свойства.Свойства столбца, внесенные в процессе изменения немедленно отображаются вTDBGrid.Пример.Динамическое определение свойств столбца.

procedureTForm1.Button2Click(Sender:TObject)

begin

DBGrid1.Columns.Clear;

DBGrid1.Columns.Add;

DBGrid1.Columns[0].FieldName:=’Fam_Z’;

DBGrid1.Columns[0].Title.Caption:=’Фамилия’;

DBGrid1.Columns.Add;

DBGrid1.Columns[1].FieldName:=’Kod’;

….