M Y D E L P H I 7 . R U Самоучитель программирования  
 
  • Главная
  •  

     

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