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

9Компоненты визуализации данных в Delphi

Характерной особенностью визуализации данных (вкладка Data Controls) является их подключение к необходимым компонентам-наборам TTable и TQuery через связующие компоненты - источник данных TDataSource.

В этом разделе описываются основные приемы работы с компонентом-источником TDataSource и компонентами, предназначенными для визуализации данных:

  • в виде таблицы (сетки);

  • в виде формы.

Визуализация данных в виде таблицы (сетки) осуществляется с помощью компонента TDBGrid.

Визуализация данных в виде формы представляет собой обычную форму, на которую помещены компоненты визуализации отдельных полей текущей записи. Набор этих компонент достаточно обширен – TDBText, TDBEdit и т.д.

9.1Компонент tdbGrid

Компонент TDBGrid (сетка) отображает содержимое НД в виде таблицы, в которой столбцы соответствуют полям НД, а строки - записям.

9.1.1Свойства

Таблица 8.1 - Свойства класса TColumn

Свойство

Описание

type TColumnButtonStyle = (cbsAuto, cbsEllipsis, cbsNone);

property ButtonStyle: TColumnButtonStyle;

Определяет стиль назначенной столбцу кнопки: cbsAuto - столбец содержит кнопку раскрывающегося списка; cbsEllipsis - столбец содержит кнопку, щелчок по которой вызывает событие OnEditButtonClick; cbsNone - столбец не содержит кнопки

property Color: TColor;

Определяет цвет столбца

property DisplayName: string;

Содержит заголовок столбца

property Field: TField;

Содержит ссылку на связанное со столбцом поле НД

property FieldName: string;

Содержит имя связанного со столбцом поля НД

property Font: TFont;

Определяет шрифт столбца

property PickList: TStrings;

Определяет элементы раскрывающегося списка, если в ButtonStyle установлено значение cbsAuto

property ReadOnly: boolean;

Если содержит True, данные в столбце нельзя изменять

property Title: TColumnTitle;

Содержит ссылку на объект-заголовок, имеющий стандартные для визуальных компонентов свойства Alignment, Caption, Color и Font, позволяющие управлять текстом в заголовке столбца

property Visible: boolean;

Если содержит False, столбец не отображается в сетке

property Width: integer;

Содержит ширину столбца в пикселах

9.1.2Дополнительные возможности сетки

У компонента есть свойство, с помощью которого можно управлять поведением и внешним видом сетки:

type TDBGridOption = (dgEditing, dgAlwaysShowEditor, dgTitles, dgIndicator, dgColumnResize, dgColLines, dgRowLines, dgTabs, dgRowSelect, dgAlwaysShowSelection, dgConfirmDelete, dgCancelOnExit, dgMultiSelect);

TDBGridOptions = set of TDBGridOption;

property Options: TDBGridOptions;

Параметры здесь следующие:

  • dgEditing - разрешает изменение НД;

  • dgAlwaysShowEditor - при выделении столбца автоматически переводит его в режим редактирования;

  • dgTitles - показывает заголовки столбцов;

  • dgIndicator - показывает указатель текущей строки в самом левом фиксированном столбце;

  • dgColumnResize - разрешает пользователю с помощью мыши изменять ширину столбцов;

  • dgColLines - показывает в сетке вертикальные разделяющие линии;

  • dgRowLines - показывает горизонтальные разделяющие линии;

  • dgTabs - разрешает переход от столбца к столбцу с помощью клавиши Tab;

  • dgRowSelect - разрешает выделение цветом всей текущей строки;

  • dgAlwaysShowSelection - выделение текущей строки цветом сохраняется, даже если компонент теряет фокус ввода;

  • dgConfirmDelete - требует подтверждения удаления строки;

  • dgCancelOnExit - если пользователь вставляет пустую строку и покидает, ее, она не сохраняется в таблице БД;

  • dgMultiSelect - разрешает множественный выбор строк.

Следует отметить, что отсутствие в свойстве значения dgEditing защищает отображаемые в сетке данные от изменения независимо от значения свойства ReadOnly любого ее столбца. Точно так же защищает строки вставка в свойство значения gdRowSelected, кроме того, в этом случае из свойства автоматически удаляются значения dgEditing и dgAlwaysShowEditor (если, разумеется, они входили в множество Opt.ions; эти значения нельзя вставить в свойство, пока в нем присутствует значение dgRowSelected). В защищенной сетке нельзя изменить ни одной ячейки текущей строки, но можно удалить строку или вставить пустую строку (если в свойстве нет значения dgCancelOnExit). Если вы не собираетесь защищать данные, полезно вставить в свойство Options значение dgAlwaysShowEditor - в этом случае столбец автоматически переводится в режим редактирования, как только он получает фокус ввода; если это значение отсутствует, редактировать выделенный столбец можно после нажатия клавиши F2 или Enter либо после двойного щелчка на ячейке мышью.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]