Add(Value: IVZLegendBase): Integer;
Add(Value: IVZLegendBase): integer;
Value. Легенда, добавляемая в коллекцию.
Метод Add добавляет указанную легенду в коллекцию легенд визуализатора.
Метод возвращает индекс добавленной легенды в коллекции.
Для того чтобы легенда была отображена в визуализаторе, необходимо указать значения для её свойств. Так, например, для цветовой легенды обязательные свойства следующие:
Для выполнения примера предполагается наличие в репозитории экспресс-отчета с идентификатором «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(0) As 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
Для выполнения примера предполагается наличие в репозитории экспресс-отчета с идентификатором «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[0] As 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.
См. также: