.. _chart_frame_g1: TbtkLookUpDBChartFrame ====================== Общие положения --------------- .. class:: btkFrame.TbtkLookUpDBChartFrame Фрейм предназначен для отображения данных в виде графиков. .. seealso:: :java:type:`Chart` Доступные типы графиков: - Линейный - Диаграмма Гантта - Столбчатые диаграммы (вертикальная и горизонтальная) - Круговые диаграммы - Пузырьковые диаграммы - Точки - Области Режимы построения ----------------- "Стандартный" Количество графиков фиксировано и определяется в свойствах фрейма. Для каждого графика необходимо указать атрибуты, содержащие значения по осям X и Y. Все параметры графика задаются свойствами фрейма. "Одноколоночный" Количество графиков может изменяться. Выборка должна содержать минимум 3 атрибута, содержащих значения по осям X и Y и системное имя графика, к которому относятся эти значения. То есть, значения точек по осям X и Y всех графиков хранятся в 2-х атрибутах. Список серий и свойств серий может быть запрошен отдельным запросом - "Выборкой серий". Также возможно задать допустимые значения по оси X с помощью "Выборки значений оси X". Свойства фрейма --------------- +-----------------------------------------------------+-----------------------------------------------------+--------------------------+ | Системное имя свойства | Описание | Поддержка в :term:`AS` | +=====================================================+=====================================================+==========================+ | **Группа "Выборка значений оси Х"** | +-----------------------------------------------------+-----------------------------------------------------+--------------------------+ | :btk:frameprop:`XValuesSelection.LabelField` | Атрибут с подписями значений по оси X |`+` | +-----------------------------------------------------+-----------------------------------------------------+--------------------------+ | :btk:frameprop:`XValuesSelection.XValueField` | Атрибут со значениями по оси X |`+` | +-----------------------------------------------------+-----------------------------------------------------+--------------------------+ | :btk:frameprop:`XValuesSelection` | Системное имя выборки допустимых значений оси X |`+` | +-----------------------------------------------------+-----------------------------------------------------+--------------------------+ | **Группа "Выборка серий"** | +-----------------------------------------------------+-----------------------------------------------------+--------------------------+ | :btk:frameprop:`SeriesSelection.SeriesGroupField` | Атрибут с номером группы серии |`-` | +-----------------------------------------------------+-----------------------------------------------------+--------------------------+ | :btk:frameprop:`SeriesSelection.AxisField` | Атрибут с указанием оси Y |`-` | +-----------------------------------------------------+-----------------------------------------------------+--------------------------+ | :btk:frameprop:`SeriesSelection.SeriesParamsField` | Атрибут со свойствами серии |`-` | +-----------------------------------------------------+-----------------------------------------------------+--------------------------+ | :btk:frameprop:`SeriesSelection.SeriesTypeField` | Атрибут с типом серии |`-` | +-----------------------------------------------------+-----------------------------------------------------+--------------------------+ | :btk:frameprop:`SeriesSelection.PointerParamsField` | Атрибут со свойствами точек серии |`-` | +-----------------------------------------------------+-----------------------------------------------------+--------------------------+ | :btk:frameprop:`SeriesSelection` | Системное имя выборки серий |`+` | +-----------------------------------------------------+-----------------------------------------------------+--------------------------+ | :btk:frameprop:`SeriesSelection.NameField` | Атрибут с системным именем серии |`-` | +-----------------------------------------------------+-----------------------------------------------------+--------------------------+ | :btk:frameprop:`SeriesSelection.CaptionField` | Атрибут с наименованием серии |`-` | +-----------------------------------------------------+-----------------------------------------------------+--------------------------+ | **Группа "График"** | +-----------------------------------------------------+-----------------------------------------------------+--------------------------+ | :btk:frameprop:`ChartTitle` | Основной заголовок графика |`-` | +-----------------------------------------------------+-----------------------------------------------------+--------------------------+ | :btk:frameprop:`CHARTSTYLE` | Режим построения графика |`+` | +-----------------------------------------------------+-----------------------------------------------------+--------------------------+ | :btk:frameprop:`ChartTitles` | Наименования серий |`+` | +-----------------------------------------------------+-----------------------------------------------------+--------------------------+ | :btk:frameprop:`AllowSettings` | Возможность сохранения настроек |`-` | +-----------------------------------------------------+-----------------------------------------------------+--------------------------+ | :btk:frameprop:`ShowMarks` | Отображение подписей к данным |`+` | +-----------------------------------------------------+-----------------------------------------------------+--------------------------+ | :btk:frameprop:`Use3D` | 3-х мерные графики |`-` | +-----------------------------------------------------+-----------------------------------------------------+--------------------------+ | :btk:frameprop:`CommandBarVisible` | Отображать панель инструментов графика |`-` | +-----------------------------------------------------+-----------------------------------------------------+--------------------------+ | :btk:frameprop:`ShowLegend` | Отображать легенду |`+` | +-----------------------------------------------------+-----------------------------------------------------+--------------------------+ | **Группа "Данные"** | +-----------------------------------------------------+-----------------------------------------------------+--------------------------+ | :btk:frameprop:`ChartCount` | Количество серий |`+` | +-----------------------------------------------------+-----------------------------------------------------+--------------------------+ | :btk:frameprop:`YValuesFields` | Атрибут(ы) со значениями по оси Y |`+` | +-----------------------------------------------------+-----------------------------------------------------+--------------------------+ | :btk:frameprop:`XValuesFields` | Атрибут(ы) со значениями по оси X |`+` | +-----------------------------------------------------+-----------------------------------------------------+--------------------------+ | :btk:frameprop:`ChartCaptionField` | Атрибут с наименованием серии |`+` | +-----------------------------------------------------+-----------------------------------------------------+--------------------------+ | :btk:frameprop:`ChartTypeField` | Атрибут с типом серии |`+` | +-----------------------------------------------------+-----------------------------------------------------+--------------------------+ | :btk:frameprop:`ChartNumField` | Атрибут с системным именем серии |`+` | +-----------------------------------------------------+-----------------------------------------------------+--------------------------+ | :btk:frameprop:`CaptionsFields` | Атрибут(ы) с подписями значений |`+` | +-----------------------------------------------------+-----------------------------------------------------+--------------------------+ | :btk:frameprop:`ChartTypes` | Типы серий |`+` | +-----------------------------------------------------+-----------------------------------------------------+--------------------------+ | **Группа "Оси"** | +-----------------------------------------------------+-----------------------------------------------------+--------------------------+ | :btk:frameprop:`XTitle` | Наименование оси X |`+` | +-----------------------------------------------------+-----------------------------------------------------+--------------------------+ | :btk:frameprop:`XAxisLables` | Вид подписей по оси X |`+` | +-----------------------------------------------------+-----------------------------------------------------+--------------------------+ | :btk:frameprop:`YAxisLables` | Вид подписей по оси Y |`+` | +-----------------------------------------------------+-----------------------------------------------------+--------------------------+ | :btk:frameprop:`YAxis.YIsDateTime` | Значения оси Y являются датой |`+` | +-----------------------------------------------------+-----------------------------------------------------+--------------------------+ | :btk:frameprop:`XAxis.XIsDateTime` | Значения оси X являются датой |`+` | +-----------------------------------------------------+-----------------------------------------------------+--------------------------+ | :btk:frameprop:`YTitle` | Наименование оси Y |`+` | +-----------------------------------------------------+-----------------------------------------------------+--------------------------+ | **Группа "Точки серий"** | +-----------------------------------------------------+-----------------------------------------------------+--------------------------+ | :btk:frameprop:`Points.Visible` | Точки - Видимость |`-` | +-----------------------------------------------------+-----------------------------------------------------+--------------------------+ | :btk:frameprop:`Points.Style` | Точки - Вид |`-` | +-----------------------------------------------------+-----------------------------------------------------+--------------------------+ | :btk:frameprop:`Points.MovementStyle` | Точки - Возможность перетаскивания |`-` | +-----------------------------------------------------+-----------------------------------------------------+--------------------------+ | :btk:frameprop:`Points.ShowPointHint` | Отображать значение при наведении курсора |`-` | +-----------------------------------------------------+-----------------------------------------------------+--------------------------+ | :btk:frameprop:`Points.RoundValue` | Точки - При перетаскивании округлять значение |`-` | +-----------------------------------------------------+-----------------------------------------------------+--------------------------+ Детальные настройки графиков ---------------------------- Кнопка "Тип серий" позволяет изменить тип всех отображаемых на графике серий. Кнопка "Редактирование" открывает окно детальных настроек графика в общем и серий по отдельности. Заданные настройки можно сохранять (если установлено свойство :btk:frameprop:`AllowSettings`) и загружать отдельно. Изначально сохраненные настройки персональны. Их можно сделать общими, и они будут доступны для всех пользователей. Также можно задать "настройку по умолчанию". Она будет автоматически загружаться при открытии фрейма. .. warning:: В :term:`AS` данный функционал не реализован События фрейма --------------- :btk:oper:`OnSeriesClick` Вызывается при нажатии на серию графика. .. warning:: В :term:`AS` это событие не реализовано :btk:oper:`OnSeriesDoubleClick` Вызывается при двойном нажатии на серию графика. .. warning:: В :term:`AS` это событие не реализовано Настройка контекстного меню серий --------------------------------- Если в выборке имеется операция "ChartPopupMenu", то она вместе с подчинёнными операциями будет отображаться в выпадающем меню при клике правой кнопкой на какую-либо серию. .. warning:: В :term:`AS` данный функционал не реализован Скриптер --------- Доступ к компоненту "График" из скриптера осуществляется через объект :pas:class:`TCustomChart`. Его можно получить, используя метод :pas:class:`TbtkScriptSelectionObject.Chart` либо его "быстрый" аналог :pas:class:`TatInternalObject.Chart`. .. warning:: В :term:`AS` данный функционал не реализован Объект :pas:class:`TCustomChart` позволяет следующее: - сохранять и загружать детальные настройки графика - управлять видимостью и содержимым заголовка графика - управлять видимостью и заголовками осей графика .. code-block:: delphi :caption: Пример Chart.BottomAxis.Title.Caption := 'Нижняя ось'; Selection.Chart.BottomAxis.Title.Caption := 'Нижняя ось'; S := FindSelection('SEL_AnyName'); S.Chart.BottomAxis.Title.Caption := 'Нижняя ось';