Delphi для профессионалов



 

Компонент 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 содержит индексы полей

Компонент TDecisionGrid является предком класса TCustomGrid и поэтому обладает всеми базовыми свойствами и методами, присущими сетке.

Для доступа к значению каждой ячейки используется свойство cells. Адресация ячеек осуществляется с левой верхней ячейки, которая имеет индексы [0,0].

Свойство Dimensions является экземпляром объекта TDisplayDims, который инкапсулирует индексированный список указателей на экземпляры объектов TDispiayDim. Каждый такой объект содержит важнейшие визуальные свойства размерностей. При щелчке на кнопке в однострочном редакторе свойства в Инспекторе объектов разворачивается список всех таких объектов.