Компонент
TDecisionGrid
Компонент TDecisionGrid предназначен для многомерного представления данных в табличном виде. Параметры отображаемого набора данных (какие размерности будут видны при открытии, как группировать данные, как управлять размерностями) настраиваются при помощи других компонентов многомерного представления. В компоненте
TDecisionGrid можно настроить только свойства самой сетки.
Для управления графиком во время выполнения можно использовать компонент
TDecisionPivot.
В табл. 30.5 приведены основные свойства и методы компонента.
Таблица 30.5. Свойства
и методы компонента TDecisionGrid
|
|
|
Свойства
|
property Cells [ACol, ARow: Integer] : string;
|
|
Индексированный массив значений всех ячеек компонента в строковом формате
|
property ColCount : Integer;
|
|
Возвращает общее число колонок в сетке
|
property DecisionSource: TDecisionSource;
|
|
Указывает на компонент TDecisionSource, через который осуществляется связь с набором данных
|
property Dimensions: TDisplayDims;
|
|
Объект TDisplayDims представляет индексированный список объектов визуальных свойств размерностей
|
property FixedCols: Integer;
|
|
Возвращает число фиксированных колонок, которые используются для отображения информации о размерностях (названия, значения, обозначения)
|
property FixedRows: Integer;
|
|
Возвращает число фиксированных строк, которые используются для отображения информации о размерностях (названия, значения, обозначения)
|
type
TDecisionGridOption = (cgGridLines, cgOutliner, cgPivo table) ;
TDecisionGridOptions = set of TDecisionGridOption;
property Options: TDecisionGridOptions;
|
|
Определяет общие настройки компонента:
- cgGridLines — отображаются вертикальные и горизонтальные
разделительные линии;
- cgOutliner — отображаются элементы управления
в виде знаков "+" и "-" для открытия и закрытия
размерностей;
- cgpivotable — размерности можно переупорядочивать
при помощи перетаскивания
|
property RcwCount: Integer;
|
|
Возвращает общее число строк в сетке
|
property ShowCubeEditor: Boolean;
|
|
Разрешает или запрещает использование специализированного редактора компонента TDecisionCube
|
property Totals: Boolean;
|
|
При значении 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;
|
|
Позволяет определить назначение любой ячейки сетки. Параметры
ACol и ARow определяют положение ячейки в сетке.
В параметре Value возвращается строка, содержащая значение в том виде, как оно представлено в ячейке.
Параметр DrawState возвращает информацию о назначении ячейки
|
function CellValueArray (ACol, ARow:
Integer; var ValueArray: TValueArray): boolean;
|
|
Возвращает индексы всех полей, данные которых суммированы в ячейке.
Параметр ValueArray содержит индексы полей
|
Компонент TDecisionGrid является предком класса
TCustomGrid и поэтому обладает всеми базовыми свойствами и методами, присущими сетке.
Для доступа к значению каждой ячейки используется свойство
cells. Адресация ячеек осуществляется с левой верхней ячейки, которая имеет индексы [0,0].
Свойство Dimensions является экземпляром объекта
TDisplayDims, который инкапсулирует индексированный список указателей на экземпляры объектов
TDispiayDim. Каждый такой объект содержит важнейшие визуальные свойства размерностей. При щелчке на кнопке в однострочном редакторе свойства в Инспекторе объектов разворачивается список всех таких объектов.
|