EndColor(Index: Integer): IGxColor;
EndColor[Index: integer]: Prognoz.Platform.Interop.Drawing.GxColor;
Index. Индекс интервала цветовой шкалы.
Свойство Color определяет цвет цветовой шкалы по индексу интервала.
Данное свойство вызывается столько раз, сколько интервалов задано в свойстве IGxColorScale.IntervalsCount.
Для использования данного свойства необходимо, чтобы свойство IGxColorScale.UseAutoValues принимало значение False.
Для выполнения примера в репозитории необходимо наличие экспресс-отчета с идентификатором «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(1, False);
// Установим шкалу для заливки ячеек
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(0, False);
// Сохраним изменения
(Express As IMetabaseObject).Save;
End Sub UserProc;
После выполнения примера изменится цвет заливки ячеек от левого верхнего угла до правого нижнего угла области значений.
Необходимые требования и результат выполнения примера 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(1, False);
// Установим шкалу для заливки ячеек
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(0, False);
// Сохраним изменения
(Express As IMetabaseObject).Save();
End Sub;
См. также: