600_____________________________________________Глава 10

Пользователь может не только манипулировать видимостью отдельных изме-
рений. Он может перетащить мышью заголовок какого-то раздела и поменять та-
ким образом последовательность измерений. Он может даже перетаскивать изме-
рения из строк в столбцы и обратно, полностью меняя структуру таблицы. Мне
представляется, что подобная свобода в руках не очень опытного пользователя мо-
жет полностью его запутать. Впрочем, возможность перетаскивания можно отме-
нить. Для этого надо в компоненте DecisionGrid в свойстве Options отключить под-
свойство cgPivotable. Тем самым возможность перетаскивания измерений будет
ликвидирована.

Выше было рассказано об управлении приложением с помощью всплывающих
меню. Но возможности пользователя можно еще расширить, если установить в
true свойство ShowCubeEditor компонента DecisionGrid. В этом случае пользова-
телю при щелчке правой кнопкой мыши вместо списка видимых измерений (см.
рис. 10.20) будет предлагаться вызов редактора измерений, т.е. диалогового окна,
показанного ранее на рис. 10.18. Там он может менять тексты заголовков, форма-
ты представления данных и т.п. Правда, мне нелегко представить квалификацию
пользователя, которому это могло бы быть полезно.

В целом, думается, что приложение, использующее описанные выше возмож-
ности Decision Cube, должно быть снабжено хорошей встроенной справочной систе-
мой, которая помогала бы пользователю.

10.4.3 Компонент DedsionPivot

Компонент DecisionPivot обеспечивает несколько более удобное управление
измерениями, чем описано выше. Добавьте на форму вашего приложения этот
компонент, установите его свойство Align в аГГор и укажите в свойстве Decision-
Source источник данных DecisionSourcel. И это все! Запустите приложение и по-
смотрите, как оно теперь работает (рис. 10.21).

Панель компонента DecisionPivot имеет три группы кнопок. Слева располо-
жена кнопка, показывающая величину, отображаемую в ячейках таблицы. Эта
кнопка снабжена выпадающим списком, позволяющим менять отображаемую ве-
личину (в нашем примере — число сотрудников или средний год рождения). Сле-
дующая группа кнопок соответствует измерениям, которые размещены в строках
таблицы (в нашем примере Пол и г.р.). Правая группа конок соответствует измере-
ниям, размещенным в столбцах таблицы (Отдел). Нажатие той или иной кнопки
включает или выключает показ соответствующего измерения.

Кнопки можно перетаскивать мышью, меняя последовательность измерений
или перемещая измерения из строк в столбцы и обратно. Такое перемещение из
строк в столбца или обратно можно также осуществлять, щелкнув правой кнопкой
мыши на кнопке панели и выбрав из контекстного меню соответствующий раздел.

Компонент DecisionPivot предоставляет интересную возможность фиксации
значения измерения. Если вы щелкнете правой кнопкой мыши на какой-то кноп-
ки панели и выберете из всплывшего меню раздел Drilled in, то надпись на кнопке
изменится (см. рис. 10.21 б). По данному измерению будут отражаться суммарные
данные. Но если после этого вы нажмете на эту кнопку, то появится меню, содер-
жащее разделы Open Dimention — открыть измерение (т.е. вернуться к обычной
форме отображения). All Values — отображать суммарные данные, а также в этом
меню будет список всех значений данного измерения. Вы можете выбрать какое-то
значение (рис. 10.21 в) и отобразятся только данные, относящиеся к этому значе-
нию. Конечно, в нашем примере это не очень нужно. Но если бы мы работали, на-
пример, с базой данных каких-то товаров или услуг, то это позволило бы нам изби-
рательно получить информацию по какому-то конкретному товару или услуге.