Иллюстрированный самоучитель по Delphi 7 для профессионалов

Отображение данных. Компоненты TDecisionGrid и TDecisionGraph.

При работе с кросстабом пользователь имеет дело с двумя визуальными компонентами многомерного представления данных. Это компонент TDecisionGrid, который представляет данные в табличном виде, и компонент TDecisionGraph, который представляет данные в виде графика.

С компонентом TDecisionCube они связаны при помощи компонента TDecisionSource (см. выше).

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

Компонент TDecisionGrid

Компонент TDecisionGrid предназначен для многомерного представления данных в табличном виде. Параметры отображаемого набора данных (какие размерности будут видны при открытии, как группировать данные, как управлять размерностями) настраиваются при помощи других компонентов многомерного представления. В компоненте TDecisionGrid можно настроить только свойства самой сетки.

Для управления графиком во время выполнения можно использовать компонент TDecisionPivot.

В табл. 30.5 приведены основные свойства и методы компонента.

Таблица 30.5. Свойства и методы компонента TDecisionGrid.

Объявление Тип Описание
Свойства
property Cells [ACol, ARow: Integer]: string; Ro Индексированный массив значений всех ячеек компонента в строковом формате
property ColCount: Integer; RO Возвращает общее число колонок в сетке
property DecisionSource: TDecisionSource; Рb Указывает на компонент TDecisionSource, через который осуществляется связь с набором данных
property Dimensions: TDisplayDims; Pb Объект TDisplayDims представляет индексированный список объектов визуальных свойств размерностей
property FixedCols: Integer; Ro Возвращает число фиксированных колонок, которые используются для отображения информации о размерностях (названия, значения, обозначения)
property FixedRows: Integer; Ro Возвращает число фиксированных строк, которые используются для отображения информации о размерностях (названия, значения, обозначения)
type
TDecisionGridOption = (cgGridLines, cgOutliner, cgPivo table);
TDecisionGridOptions = set of TDecisionGridOption;
property Options: TDecisionGridOptions;
Pb Определяет общие настройки компонента:
  • cgGridLines – отображаются вертикальные и горизонтальные разделительные линии;
  • cgOutliner – отображаются элементы управления в виде знаков "+" и "-" для открытия и закрытия размерностей;
  • cgpivotable – размерности можно переупорядочивать при помощи перетаскивания
property RcwCount: Integer; Ro Возвращает общее число строк в сетке
property ShowCubeEditor: Boolean; Pb Разрешает или запрещает использование специализированного редактора компонента TDecisionCube
property Totals: Boolean; Pu При значении True сетка имеет промежуточные суммы по каждой колонке и строке
Методы
type
TDecisionDrawStates = i (dsGroupStart, dsRowCaption, dsColCaption, dsSum, dsRowValue, dsColValue, dsData, dsOpenAfter, dsCloseAfter, dsCloseBefore, dsOpenBefore, dsRowIndicator, dsColIndicator, dsRowPlus, dsColPlus, dsNone);
TDecisionDrawState = set of TDecisionDrawStates;
function CellDrawState(ACol, ARow: Integer; var Value: string; var DrawState: TDecisionDrawState): boolean;
Pu Позволяет определить назначение любой ячейки сетки. Параметры ACol и ARow определяют положение ячейки в сетке.
В параметре Value возвращается строка, содержащая значение в том виде, как оно представлено в ячейке.
Параметр DrawState возвращает информацию о назначении ячейки
function CellValueArray (ACol, ARow: Integer; var ValueArray: TValueArray): boolean; Pu Возвращает индексы всех полей, данные которых суммированы в ячейке.
Параметр ValueArray содержит индексы полей
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.