Отображение данных. Компоненты 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 | Определяет общие настройки компонента:
|
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 содержит индексы полей |