Компонент 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 |
Определяет общие настройки компонента:
|
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. Каждый такой объект содержит важнейшие визуальные свойства размерностей. При щелчке на кнопке в однострочном редакторе свойства в Инспекторе объектов разворачивается список всех таких объектов.