Настройка стилевого оформления области данных

Рассмотрим пример создания и применения условного форматирования к области данных.

Для выполнения примера предполагается наличие в репозитории регламентного отчета с идентификатором «REPORT_INTRO», с размещенной на листе областью данных.

Пример Fore

Для выполнения примера добавьте ссылки на системные сборки Metabase, Report, Tab, Drawing.

Sub UserProc;
Var
    MB: IMetabase;
    MObj: IMetabaseObject;
    Report: IPrxReport;
    DI: IPrxDataIsland;
    Prop: IPrxDataIslandProperties;
    TabFormat: ITabFormatCondition;
    ValFormat: ITabFormatValues;
Begin
    MB := MetabaseClass.Active;
    MObj := MB.ItemById("REPORT_INTRO").Edit;
    Report := MObj As IPrxReport;
    DI := Report.DataIslands.Item(0).Edit;
    Prop := DI.Properties;
    TabFormat := Prop.FormatConditions.Add;
    TabFormat.Type := TabConditionType.Values;
    ValFormat := TabFormat.Details As ITabFormatValues;
    // Трехцветный градиент для форматирования ячеек:
    ValFormat.Style := TabFormatValuesStyle.ThreeColorScale;
    // Настройка минимального значения:
    ValFormat.MinValueType := TabFormatValueType.Lowest;
    ValFormat.MinValueColor := GxColor.FromName("Yellow");
    // Настройка среднего значения:
    ValFormat.MidValueType := TabFormatValueType.Percent;
    ValFormat.MidValue := 50;
    ValFormat.MidValueColor := GxColor.FromName("Green");
    // Настройка максимального значения:
    ValFormat.MaxValueType := TabFormatValueType.Highest;
    ValFormat.MaxValueColor := GxColor.FromName("Blue");
    DI.Save;
    MObj.Save;
End Sub UserProc;

В результате выполнения примера для области данных будет определено условное форматирование ячеек на основе их значений: стиль оформления - трехцветный градиент. Созданное условие форматирования будет сохранено для текущего отчета.

Пример Fore.NET

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

Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Report;
Imports Prognoz.Platform.Interop.Tab;
Imports Prognoz.Platform.Interop.Drawing;

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    MObj: IMetabaseObject;
    Report: IPrxReport;
    DI: IPrxDataIsland;
    Prop: IPrxDataIslandProperties;
    TabFormat: ITabFormatCondition;
    ValFormat: ITabFormatValues;
    GxColor: GxColorClassClass = New GxColorClassClass();
Begin
    MB := Params.Metabase;
    MObj := MB.ItemById["REPORT_INTRO"].Edit();
    Report := MObj As IPrxReport;
    DI := Report.DataIslands.Item[0].Edit();
    Prop := DI.Properties;
    TabFormat := Prop.FormatConditions.Add();
    TabFormat.Type := TabConditionType.tctValues;
    ValFormat := TabFormat.Details As ITabFormatValues;
    // Трехцветный градиент для форматирования ячеек:
    ValFormat.Style := TabFormatValuesStyle.tfvsThreeColorScale;
    // Настройка минимального значения:
    ValFormat.MinValueType := TabFormatValueType.tfvtLowest;
    ValFormat.MinValueColor := GxColor.FromName("Yellow");
    // Настройка среднего значения:
    ValFormat.MidValueType := TabFormatValueType.tfvtPercent;
    ValFormat.MidValue := 50;
    ValFormat.MidValueColor := GxColor.FromName("Green");
    // Настройка максимального значения:
    ValFormat.MaxValueType := TabFormatValueType.tfvtHighest;
    ValFormat.MaxValueColor := GxColor.FromName("Blue");
    DI.Save();
    MObj.Save();
End Sub;

См. также:

Общие принципы программирования с использованием сборки Report