IVZDataScale.Item

Синтаксис Fore

Item(Index: Integer): Variant;

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

Item[Index: System.Int32]: System.Object;

Параметры

Index. Индекс элемента шкалы.

Описание

Свойство Item определяет кисть или число, соответствующие элементу шкалы визуализатора в зависимости от её типа.

Пример Fore

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

До выполнения примера цветовая шкала пузырькового дерева выглядит так, как показано на странице описания интерфейса IVZDataScale.

Sub UserProc;
Var
    Metabase: IMetabase; // Репозиторий
    EaxAnalyzer: IEaxAnalyzer; // Экспресс-отчёт
    EaxBubbleTree:IEaxBubbleTree;//Пузырьковое дерево
    BubbleTree: IVZBubbleTree; // Пузырьковое дерево
    Scale: IVZDataScale; // Шкала цветов
    i: Integer; // Счётчик цикла
    Color: IGxColor; // Цвет шагов
    Brush: IGxSolidBrush;// Кисть для элементов шкалы
Begin
    // Получим объект репозитория
    Metabase := MetabaseClass.Active;
    // Получим объект экспресс-отчёта
    EaxAnalyzer := Metabase.ItemById("EXPRESS").Edit As IEaxAnalyzer;
    EaxBubbleTree := EaxAnalyzer.BubbleTree;
    BubbleTree := EaxBubbleTree.BubbleTree;
    // Получим шкалу пузырькового дерева
    Scale := BubbleTree.ColorVisual.ColorMapping.Scale;
    // Определим цвет для элементов шкалы
    For i:=0 To Scale.ItemsCount - 1 Do       
        // Создадим красный цвет
        Color := New GxColor.CreateRGB(255 - 50 * i, 00);     
        // Создадим кисть
        Brush := New GxSolidBrush.Create(Color);
        // Установим кисть элементу шкалы
        Scale.Item(i) := Brush;
    End For;
    // Выведем информацию о шкале
    Debug.WriteLine("Идентификатор шкалы: " + Scale.ID);
    Debug.WriteLine("Общее количество значений шкалы: " + Scale.ValuesCount.ToString);
    Debug.WriteLine("Диапазон значений шкалы: " + Scale.Value(0).ToString + " - " + Scale.Value(3).ToString);
    // Сохраним изменения, сделанные в экспресс-отчёте 
    (EaxAnalyzer As IMetabaseObject).Save;
End Sub UserProc;

В результате выполнения примера для элементов шкалы пузырькового дерева были установлены разные оттенки красного цвета:

В консоль были выведены идентификатор шкалы и общее количество её значений:

Идентификатор шкалы: Scale220

Общее количество значений шкалы: 4

Диапазон значений шкалы: 6.5034786623558 - 21.5011791813519

Пример Fore.NET

Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.

Imports Prognoz.Platform.Interop.Drawing;
Imports Prognoz.Platform.Interop.Express;
Imports Prognoz.Platform.Interop.Visualizators;

...

Public Shared Sub Main(Params: StartParams);
Var
    Metabase: IMetabase; // Репозиторий
    EaxAnalyzer: IEaxAnalyzer; // Экспресс-отчёт
    EaxBubbleTree:IEaxBubbleTree;//Пузырьковое дерево
    BubbleTree: IVZBubbleTree; // Пузырьковое дерево
    Scale: IVZDataScale; // Шкала цветов
    i: Integer; // Счётчик цикла
    Color: IGxColor; // Цвет шагов
    Brush: IGxSolidBrush;// Кисть для элементов шкалы
Begin
    // Получим объект репозитория
    Metabase := Params.Metabase;
    // Получим объект экспресс-отчёта
    EaxAnalyzer := Metabase.ItemById["EXPRESS"].Edit() As IEaxAnalyzer;
    EaxBubbleTree := EaxAnalyzer.BubbleTree;
    BubbleTree := EaxBubbleTree.BubbleTree;
    // Получим шкалу пузырькового дерева
    Scale := BubbleTree.ColorVisual.ColorMapping.Scale;
    // Определим цвет для элементов шкалы
    For i:=0 To Scale.ItemsCount - 1 Do       
        // Создадим красный цвет
        Color := New GxColor();
        Color.CreateRGB(255 - 50 * i, 00);
        // Создадим кисть
        Brush := New GxSolidBrush();
        Brush.Color := Color As GxColor;
        // Установим кисть элементу шкалы
        Scale.Item[i] := Brush;
    End For;
    // Выведем информацию о шкале
    System.Diagnostics.Debug.WriteLine("Идентификатор шкалы: " + Scale.ID);
    System.Diagnostics.Debug.WriteLine("Общее количество значений шкалы: " + Scale.ValuesCount.ToString());
    System.Diagnostics.Debug.WriteLine("Диапазон значений шкалы: " + Scale.Value[0].ToString() + " - " + Scale.Value[3].ToString());
    // Сохраним изменения, сделанные в экспресс-отчёте 
    (EaxAnalyzer As IMetabaseObject).Save();
End Sub;

См. также:

IVZDataScale