IVZLegends.Add

Синтаксис Fore

Add(Value: IVZLegendBase): Integer;

Синтаксис Fore.NET

Add(Value: IVZLegendBase): integer;

Параметры

Value. Легенда, добавляемая в коллекцию.

Описание

Метод Add добавляет указанную легенду в коллекцию легенд визуализатора.

Комментарии

Метод возвращает индекс добавленной легенды в коллекции.

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

Пример Fore

Для выполнения примера предполагается наличие в репозитории экспресс-отчета с идентификатором «EXP». Модуль, в котором размещается пример, должен иметь ссылки на системные сборки Drawing, Express, Metabase и Visualizators. Указанная процедура должна вызываться из точки входа Main.

До выполнения примера пузырьковое дерево выглядит так, как показано на странице описания интерфейса IVZBubbleTree. Далее создадим легенду с интервалами, не уменьшающую рабочую область пузырькового дерева. Для всех обязательных её свойств укажем значения из соответствующих свойств цветовой легенды, а также установим заголовок и нижний колонтитул. Затем добавим данную легенду на диаграмму:

Sub UserProc;
Var
    Metabase: IMetabase; // Метабаза
    Analyzer: IEaxAnalyzer; // Экспресс-отчёт
    BubbleTree: IVZBubbleTree; // Пузырьковое дерево
    ColorLegend: IVZColorLegendBase; // Цветовая легенда
    IntervalsLegend: IVZIntervalsLegend; // Легенда с интервалами
Begin
    // Получим объект метабазы
    Metabase := MetabaseClass.Active;
    // Получим объект экспресс-отчёта
    Analyzer := Metabase.ItemById("EXP").Edit As IEaxAnalyzer;
    // Получим пузырьковое дерево
    BubbleTree := Analyzer.BubbleTree.BubbleTree;
    // Получим цветовую легенду дерева
    ColorLegend := BubbleTree.Legends.Item(0As IVZColorLegendBase;
    
    // Создадим новую легенду
    IntervalsLegend := New VZIntervalsLegend.Create;
    // Зададим цветовую шкалу
    IntervalsLegend.Scale := ColorLegend.Scale;
    // Зададим форматы подписей к интервалам шкалы
    IntervalsLegend.BetweenFormat := ColorLegend.BetweenFormat;
    IntervalsLegend.GreaterFormat := ColorLegend.GreaterFormat;
    IntervalsLegend.LessFormat := ColorLegend.LessFormat;
    // Укажем стиль легенды
    IntervalsLegend.Style := ColorLegend.Style;
    // Укажем стиль для пузырька, соответствующего отсутствующим данным
    IntervalsLegend.NoDataText := ColorLegend.NoDataText;
    // Установим заголовок легенды
    IntervalsLegend.Header := ColorLegend.Header;
    IntervalsLegend.Header.Text := "Заголовок";
    
    // Установим нижний колонтитул легенды
    IntervalsLegend.Footer := ColorLegend.Header;
    IntervalsLegend.Footer.Text := "Нижний колонтитул";
    IntervalsLegend.Footer.Style.Alignment := GxStringAlignment.Near;
    
    // Легенда не будет уменьшать область пузырькового дерева
    IntervalsLegend.IsOverlap := True;
    
    // Добавим данную легенду на диаграмму
    BubbleTree.Legends.Add(IntervalsLegend);
    Debug.WriteLine("Общее количество легенд: " + BubbleTree.Legends.Count.ToString);
    
    // Сохраним изменения, сделанные в экспресс-отчёте
    (Analyzer As IMetabaseObject).Save;
End Sub UserProc;

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

В окне консоли среды разработки было выведено общее количество легенд в пузырьковом дереве:

Общее количество легенд: 2

Пример Fore.NET

Для выполнения примера предполагается наличие в репозитории экспресс-отчета с идентификатором «EXP». Указанная процедура является точкой входа Main в модуле Program .NET-сборки. В данный модуль должны быть импортированы сборки Express, Metabase и Visualizators из системной сборки Prognoz.Platform.Interop.

До выполнения примера пузырьковое дерево выглядит так, как показано на странице описания интерфейса IVZBubbleTree. Далее создадим легенду с интервалами, не уменьшающую рабочую область пузырькового дерева. Для всех обязательных её свойств укажем значения из соответствующих свойств цветовой легенды, а также установим заголовок и нижний колонтитул. Затем добавим данную легенду на диаграмму:

Public Shared Sub Main(Params: StartParams);
Var
    Metabase: IMetabase; // Метабаза
    Analyzer: IEaxAnalyzer; // Экспресс-отчёт
    BubbleTree: IVZBubbleTree; // Пузырьковое дерево
    ColorLegend: IVZColorLegendBase; // Цветовая легенда
    IntervalsLegend: IVZIntervalsLegend; // Легенда с интервалами
Begin
    // Получим объект метабазы
    Metabase := Params.Metabase;
    // Получим объект экспресс-отчёта
    Analyzer := Metabase.ItemById["EXP"].Edit() As IEaxAnalyzer;
    // Получим пузырьковое дерево
    BubbleTree := Analyzer.BubbleTree.BubbleTree;
    // Получим цветовую легенду дерева
    ColorLegend := BubbleTree.Legends.Item[0As IVZColorLegendBase;
    
    // Создадим новую легенду
    IntervalsLegend := New VZIntervalsLegend();
    // Зададим цветовую шкалу
    IntervalsLegend.Scale := ColorLegend.Scale;
    // Зададим форматы подписей к интервалам шкалы
    IntervalsLegend.BetweenFormat := ColorLegend.BetweenFormat;
    IntervalsLegend.GreaterFormat := ColorLegend.GreaterFormat;
    IntervalsLegend.LessFormat := ColorLegend.LessFormat;
    // Укажем стиль легенды
    IntervalsLegend.Style := ColorLegend.Style;
    // Укажем стиль для пузырька, соответствующего отсутствующим данным
    IntervalsLegend.NoDataText := ColorLegend.NoDataText;
    // Установим заголовок легенды
    IntervalsLegend.Header := ColorLegend.Header;
    IntervalsLegend.Header.Text := "Заголовок";
    
    // Создадим нижний колонтитул легенды
    IntervalsLegend.Footer:= ColorLegend.Header;
    IntervalsLegend.Footer.Text := "Нижний колонтитул";
    IntervalsLegend.Footer.Style.Alignment := GxStringAlignment.gsaNear;
    
    // Легенда не будет уменьшать область пузырькового дерева
    IntervalsLegend.IsOverlap := True;
    
    // Добавим данную легенду на диаграмму
    BubbleTree.Legends.Add(IntervalsLegend);
    System.Diagnostics.Debug.WriteLine("Общее количество легенд: " + 
        BubbleTree.Legends.Count.ToString());
    
    // Сохраним изменения, сделанные в экспресс-отчёте
    (Analyzer As IMetabaseObject).Save();
End Sub;

Результат выполнения примера аналогичен результату, полученному после выполнения примера для языка Fore.

См. также:

IVZLegends