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



 

Компонент TDecisionPivot


Компонент TDecisionPivot предоставляет пользователю средства управления размерностями многомерного представления данных. В стандартном состоянии компонент представляет собой панель, разделенную на три части (табл. 30.6). Каждая часть имеет собственный набор кнопок.

Левая часть имеет единственную кнопку, щелчок на которой позволяет сделать выбор суммирующего поля из развернувшегося списка. Элементы списка соответствуют вычисляемым полям с использованием агрегатных функций из запроса соответствующего компонента TDecisionQuery.

Выбор поля приводит к изменению значений в ячейках кросстаба. Например, выбор поля с функцией зим изменит значения в ячейках на суммы полей, поле с функцией COUNT произведет подсчет количества элементов в полях.

Средняя часть панели предназначена для размещения кнопок, соответствующих горизонтальным размерностям.

Правая часть панели используется для кнопок, соответствующих вертикальным размерностям.

Кнопка в нажатом состоянии показывает размерность. Одновременно отображается и общая сумма по размерности.

Размерности можно менять местами и перемещать с вертикали на горизонталь и обратно. Для этого можно выбрать команду Moved to Column Area из всплывающего меню кнопки. Во время выполнения можно использовать обычное перетаскивание кнопок при помощи мыши.

Всплывающее меню кнопки размерности имеет еще одну команду — Drilled In. По этой команде размерность переходит в режим детального просмотра по каждому значению поля. Конкретное значение можно выбрать из списка, который открывается при щелчке на кнопке. В этом случае суммы в ячейках кросстаба рассчитываются не по всей размерности, а только по выбранному значению.

Таблица 30.6. Свойства и методы компонента TDecisionPivot

Объявление 

Тип

Описание

Свойства

property DecisionSource:  TDecisionSource; 

Рb

Определяет компонент TDecisionSource, через который осуществляется управление многомерным представлением данных

type TDecisionButtonPosition = (xtHorizontal, xtVertical, XtLeftTop) ;

property GroupLayout: TDecisionButtonPosition;

Рb 

Задает способ расположения кнопок на панели:

  •  xtHorizontal — в ряд слева направо; 
  •  xtVertical — в колонку сверху вниз;
  •  xtLeftTop — кнопки вертикальных размерностей вдоль верхнего края, кнопки горизонтальных размерностей вдоль левого края, кнопка сумм в левом верхнем углу

type

TDecisionPivotOption = (xtRows, xtColumns, xtSuiranaries);

TDecisionPivotOptions = set of TDecisionPivotOption;

property Groups : TDecisionPivotOptions;

РЬ

Управляет видимостью трех групп кнопок

property GroupSpacing: Integer;

Pb

Определяет размер в пикселах промежутка между группами кнопок

Методы

procedure SetBounds (Left, Top, Height, Width: Integer); override;

Pu 

Переустанавливает размеры компонента в соответствии с параметрами метода

Методы-обработчики компонента унаследованы от класса TWinControl.