IGxColorScale.Color

Синтаксис Fore

EndColor(Index: Integer): IGxColor;

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

EndColor[Index: integer]: Prognoz.Platform.Interop.Drawing.GxColor;

Параметры

Index. Индекс интервала цветовой шкалы.

Описание

Свойство Color определяет цвет цветовой шкалы по индексу интервала.

Комментарии

Данное свойство вызывается столько раз, сколько интервалов задано в свойстве IGxColorScale.IntervalsCount.

Для использования данного свойства необходимо, чтобы свойство IGxColorScale.UseAutoValues принимало значение False.

Пример Fore

Для выполнения примера в репозитории необходимо наличие экспресс-отчета с идентификатором «EXPRESS_SCALE». Отчет содержит таблицу, построенную на основе куба. Куб содержит нескрытое фиксированное измерение, у которого настроено отображение метрик.

Добавьте ссылки на системные сборки: Dimensions, Drawing, Express, Metabase.
Sub UserProc;
Var
    MB: IMetaBase;
    Express: IEaxAnalyzer;
    Style: IEaxTableStyle;
    DimSel: IDimSelection;
    ColorScale: IGxColorScale;
Begin
    // Получим репозиторий
    MB := MetabaseClass.Active;
    // Получим регламентный отчет
    Express := MB.ItemById("EXPRESS_SCALE").Edit As IEaxAnalyzer;
    // Получим параметры оформления таблицы
    Style := Express.Grid.Style;
    // Получим отметку у фиксированного измерения
    DimSel := Express.Grid.IndicatorSelection(EaxGridIndicatorType.BackgroundColor);
    // Выберем второй элемент
    DimSel.SelectElement(1False);
    // Установим шкалу для заливки ячеек
    ColorScale := Style.IndicatorScale(EaxGridIndicatorType.BackgroundColor) As IGxColorScale;

    // Отключим автоматические значения
    ColorScale.UseAutoValues := False;
    // Установим количество интервалов
    ColorScale.IntervalsCount := 6;
    // Зададим цвет для каждого интервала
    ColorScale.Color(0) := GxColor.FromName("Green");
    ColorScale.Color(1) := GxColor.FromName("Red");
    ColorScale.Color(2) := GxColor.FromName("Blue");
    ColorScale.Color(3) := GxColor.FromName("White");
    ColorScale.Color(4) := GxColor.FromName("Orange");
    ColorScale.Color(5) := GxColor.FromName("Yellow");
    // Получим отметку и сменим элемент, чтобы обновить таблицу
    DimSel := Express.Grid.IndicatorSelection(EaxGridIndicatorType.BackgroundColor);
    Dimsel.SelectElement(0False);
    // Сохраним изменения
    (Express As IMetabaseObject).Save;
End Sub UserProc;

После выполнения примера изменится цвет заливки ячеек от левого верхнего угла до правого нижнего угла области значений.

Пример Fore.NET

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

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

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetaBase;
    Express: IEaxAnalyzer;
    Style: IEaxTableStyle;
    DimSel: IDimSelection;
    ColorScale: IGxColorScale;
    Color: GxColorClassClass = New GxColorClassClass();
Begin
    // Получим репозиторий
    MB := Params.Metabase;
    // Получим регламентный отчет
    Express := MB.ItemById["EXPRESS_SCALE"].Edit() As IEaxAnalyzer;
    // Получим параметры оформления таблицы
    Style := Express.Grid.Style;
    // Получим отметку у фиксированного измерения
    DimSel := Express.Grid.IndicatorSelection[EaxGridIndicatorType.egitBackgroundColor As Integer];
    // Выберем второй элемент
    DimSel.SelectElement(1False);
    // Установим шкалу для заливки ячеек
    ColorScale := Style.IndicatorScale[EaxGridIndicatorType.egitBackgroundColor] As IGxColorScale;
    // Отключим автоматические значения
    ColorScale.UseAutoValues := False;
    // Установим количество интервалов
    ColorScale.IntervalsCount := 6;
    // Зададим цвет для каждого интервала
    ColorScale.Color[0] := Color.FromName("Green");
    ColorScale.Color[1] := Color.FromName("Red");
    ColorScale.Color[2] := Color.FromName("Blue");
    ColorScale.Color[3] := Color.FromName("White");
    ColorScale.Color[4] := Color.FromName("Orange");
    ColorScale.Color[5] := Color.FromName("Yellow");
    // Получим отметку и сменим элемент, чтобы обновить таблицу
    DimSel := Express.Grid.IndicatorSelection[EaxGridIndicatorType.egitBackgroundColor As Integer];
    Dimsel.SelectElement(0False);
    // Сохраним изменения
    (Express As IMetabaseObject).Save();
End Sub;

См. также:

IGxColorScale