DataMappingToLegendAssignment(legend: IVZLegendBase): IVZDataVisual;
DataMappingToLegendAssignment[legend: Prognoz.Platform.Interop.Vizualizators.IVZLegendBase]: Prognoz.Platform.Interop.Vizualizators.IVZDataVizual;
legend. Объект легенды.
Свойство DataMappingToLegendAssignment определяет привязку данных дерева к легенде.
Для выполнения примера предполагается наличие в репозитории экспресс-отчета с идентификатором «EXP». Модуль, в котором размещается пример, должен иметь ссылки на системные сборки Express, Metabase, Drawing и Visualizators. Указанная процедура должна вызываться из точки входа Main.
До выполнения примера пузырьковое дерево выглядит так, как показано на странице описания интерфейса IVZBubbleTree. Установим для данного дерева новый фон, получим коллекцию легенд и установим новый цвет шрифта для текстовых элементов легенды. Получим визуализатор цвета, установим заливку для пузырька "нет данных", установим визуализатор цвета для легенды. Получим временную шкалу и установим новый цвет шрифта для её текстовых элементов. Получим параметры пузырькового дерева в формате XML и изменим цвет орбит. Выведем признак возможности воспроизведения анимации и признак активности режима печати:
Sub UserProc;
Var
Metabase: IMetabase; // Метабаза
EaxAnalyzer: IEaxAnalyzer; // Экспресс-отчёт
BubbleTree: IVZBubbleTree; // Пузырьковое дерево
Legends: IVZLegends; // Коллекция легенд
Legend: IVZLegendBase; // Легенда
TimeLine: IVZTimeLine; // Временная шкала
BubbleTreeXML: String; // Настройки пузырькового дерева в формате XML
DataVisual: IVZColorVisual; // Визуализатор цвета
Brush: IGxSolidBrush; // Кисть
Begin
// Получим объект метабазы
Metabase := MetabaseClass.Active;
// Получим объект экспресс-отчёта
EaxAnalyzer := Metabase.ItemById("EXP").Edit As IEaxAnalyzer;
// Получим пузырьковое дерево
BubbleTree := EaxAnalyzer.BubbleTree.BubbleTree;
// Получим коллекцию легенд
Legends := BubbleTree.Legends;
// Получим легенду из коллекции
Legend := Legends.Item(0);
// Установим новый цвет шрифта для текстовых элементов легенды
Legend.Style.FontColor := New GxColor.CreateRGB(0, 0, 0);
// Получим визуализатор цвета
DataVisual := BubbleTree.ColorVisual;
// Установим заливку для пузырька "нет данных"
Brush := DataVisual.ColorMapping.Data("") As IGxSolidBrush;
If Brush <> Null Then
Brush.Color := New GxColor.CreateRGB(0, 0, 255);
End If;
// Установим визуализатор цвета для легенды
BubbleTree.DataMappingToLegendAssignment(Legend) := DataVisual.ColorMapping;
// Получим временную шкалу
Timeline := BubbleTree.TimeLine;
// Установим новый цвет шрифта для текстовых элементов временной шкалы
Timeline.Style.FontColor := New GxColor.CreateRGB(0, 0, 0);
// Изменим цвет орбит
BubbleTree.OrbitsPen.Color := New GxColor.CreateARGB(255,0,0,0);
// Сохраним экспресс-отчет
(EaxAnalyzer As IMetabaseObject).Save;
End Sub UserProc;
В результате выполнения примера был установлен новый цвет шрифта для текстовых элементов легенды и временной шкалы, был изменен цвет пузырька, в котором отсутствуют данные, был изменен цвет орбит:
Также в консоли среды разработки был выведен признак возможности воспроизведения анимации и признак активности режима печати:
Признак возможности воспроизведения анимации: True
Признак активности режима печати: False
Для выполнения примера предполагается наличие в репозитории экспресс-отчета с идентификатором «EXP». Указанная процедура является точкой входа Main в модуле Program .NET-сборки. В данный модуль должны быть импортированы сборки Express, Metabase, Drawing и Visualizators из системной сборки Prognoz.Platform.Interop.
До выполнения примера пузырьковое дерево выглядит так, как показано на странице описания интерфейса IVZBubbleTree. Установим для данного дерева новый фон, получим коллекцию легенд и установим новый цвет шрифта для текстовых элементов легенды. Получим визуализатор цвета, установим заливку для пузырька "нет данных", установим визуализатор цвета для легенды. Получим временную шкалу и установим новый цвет шрифта для её текстовых элементов. Получим параметры пузырькового дерева в формате XML и изменим цвет орбит. Выведем признак возможности воспроизведения анимации и признак активности режима печати:
Public Shared Sub Main(Params: StartParams);
Var
Metabase: IMetabase; // Метабаза
EaxAnalyzer: IEaxAnalyzer; // Экспресс-отчёт
BubbleTree: IVZBubbleTree; // Пузырьковое дерево
Legends: IVZLegends; // Коллекция легенд
Legend: IVZLegendBase; // Легенда
TimeLine: IVZTimeLine; // Временная шкала
BubbleTreeXML: String; // Настройки пузырькового дерева в формате XML
FontColor: GxColor; // Цвет шрифта
DataVisual: IVZColorVisual; // Визуализатор цвета
Brush: IGxSolidBrush; // Кисть
Begin
// Получим объект метабазы
Metabase := Params.Metabase;
// Получим объект экспресс-отчёта
EaxAnalyzer := Metabase.ItemById["EXP"].Edit() As IEaxAnalyzer;
// Получим пузырьковое дерево
BubbleTree := EaxAnalyzer.BubbleTree.BubbleTree;
// Получим коллекцию легенд
Legends := BubbleTree.Legends;
// Получим легенду из коллекции
Legend := Legends.Item[0];
// Установим новый цвет шрифта для текстовых элементов легенды
FontColor := New GxColor();
FontColor.CreateRGB(0, 0, 0);
Legend.Style.FontColor := FontColor;
// Получим визуализатор цвета
DataVisual := BubbleTree.ColorVisual;
// Установим заливку для пузырька "нет данных"
Brush := DataVisual.ColorMapping.Data[""] As IGxSolidBrush;
If Brush <> Null Then
Brush.Color := New GxColor();
Brush.Color.CreateRGB(0, 0, 255);
End If;
// Установим визуализатор цвета для легенды
BubbleTree.DataMappingToLegendAssignment[Legend] := DataVisual.ColorMapping;
// Получим временную шкалу
Timeline := BubbleTree.TimeLine;
// Установим новый цвет шрифта для текстовых элементов временной шкалы
Timeline.Style.FontColor := FontColor;
// Изменим цвет орбит
BubbleTree.OrbitsPen.Color := New GxColor();
BubbleTree.OrbitsPen.Color.CreateARGB(255,0,0,0);
// Сохраним экспресс-отчет
(EaxAnalyzer As IMetabaseObject).Save();
End Sub;
Результат выполнения примера аналогичен результату, полученному после выполнения примера для языка Fore.
См. также: