Express > Интерфейсы сборки Express > IEaxTableStyle > IEaxTableStyle.ABCBottomStyle
ABCBottomStyle: ITabCellStyle;
ABCBottomStyle: Prognoz.Platform.Interop.Tab.TabCellStyle;
Свойство ABCBottomStyle определяет стиль ячеек с минимальными значениями столбца/строки при использовании анализа «Первые/Последние».
Для определения стиля ячеек с максимальными значениями столбца/строки используйте свойство IEaxTableStyle.ABCTopStyle.
Для выполнения примера в репозитории необходимо наличие экспресс-отчета с идентификатором «EXPRESS_IPIVOTPARETOSETTENGSITEM», содержащего таблицу.
Добавьте ссылки на системные сборки: Drawing, Express, Metabase, Pivot, Tab.
Sub UserProc;
Var
Metabase: IMetabase;
Analyzer: IEaxAnalyzer;
Pivot: IPivot;
ColumnSettings: IPivotParetoSettings;
BottomSettings: IPivotParetoSettingsItem;
TopSettings: IPivotParetoSettingsItem;
Grid: IEaxGrid;
Style: IEaxTableStyle;
AbcTopStyle: ITabCellStyle;
AbcBottomStyle: ITabCellStyle;
TopBrush: GxSolidBrush;
BottomBrush: GxSolidBrush;
TopColor: IGxColor;
BottomColor: IGxColor;
Begin
// Получим репозиторий
Metabase := MetabaseClass.Active;
// Получим экспресс-отчёт
Analyzer := Metabase.ItemById("EXPRESS_IPIVOTPARETOSETTENGSITEM").Edit As IEaxAnalyzer;
// Получим таблицу экспресс-отчета
Pivot := Analyzer.Pivot;
// Будем применять анализ 80/20 к столбцам
ColumnSettings := Pivot.Pareto.ColumnsSettings;
// Включим анализ только для первого столбца
ColumnSettings.Enabled := True;
ColumnSettings.ElementIndex := 0;
// Получим максимальные значения анализируемого столбца
TopSettings := ColumnSettings.TopSettings;
// Изменим тип расчета
TopSettings.Kind := PivotParetoKind.Count;
// Включим отображение ячеек с максимальными значениями
TopSettings.Display := True;
// Изменим количество отображаемых ячеек с максимальными значениями
TopSettings.Threshold := 2;
// Получим минимальные значения анализируемого столбца
BottomSettings := ColumnSettings.BottomSettings;
// Изменим тип расчета
BottomSettings.Kind := PivotParetoKind.Count;
// Включим отображение ячеек с минимальными значениями
BottomSettings.Display := True;
// Изменим количество отображаемых ячеек с минимальными значениями
BottomSettings.Threshold := 2;
// Получим таблицу данных отчета
Grid := Analyzer.Grid;
// Получим параметры оформления таблицы
Style := Grid.Style;
// Создадим и зададим зеленый цвет фона ячеек c максимальными значениями
AbcTopStyle := New TabCellStyle.Create;
TopColor := New GxColor.CreateRGB(0, 128, 0);
TopBrush := New GxSolidBrush.Create(TopColor);
AbcTopStyle.BackgroundBrush := TopBrush;
Style.ABCTopStyle := AbcTopStyle;
// Создадим и зададим красный цвет фона ячеек с минимальными значениями
AbcBottomStyle := New TabCellStyle.Create;
BottomColor := New GxColor.CreateRGB(255, 0, 0);
BottomBrush := New GxSolidBrush.Create(BottomColor);
AbcBottomStyle.BackgroundBrush := BottomBrush;
Style.ABCBottomStyle := AbcBottomStyle;
// Сохраним изменения
(Analyzer As IMetabaseObject).Save;
End Sub UserProc;
После выполнения примера к первому столбцу таблицы экспресс-отчета будет применен анализ «Первые/Последние» в соответствии с заданными параметрами:
будут отображены две ячейки с минимальными значениями;
будут отображены две ячейки с максимальными значениями;
цвет фона ячеек с максимальными значениями станет зеленым;
цвет фона ячеек с минимальными значениями станет красным.
Необходимые требования и результат выполнения примера Fore.NET совпадают с примером Fore.
Imports Prognoz.Platform.Interop.Drawing;
Imports Prognoz.Platform.Interop.Express;
Imports Prognoz.Platform.Interop.Pivot;
Imports Prognoz.Platform.Interop.Tab;
…
Public Shared Sub Main(Params: StartParams);
Var
Metabase: IMetabase;
Analyzer: IEaxAnalyzer;
Pivot: IPivot;
ColumnSettings: IPivotParetoSettings;
BottomSettings: IPivotParetoSettingsItem;
TopSettings: IPivotParetoSettingsItem;
Grid: IEaxGrid;
Style: IEaxTableStyle;
AbcTopStyle: TabCellStyle;
AbcBottomStyle: TabCellStyle;
TopBrush: GxSolidBrush = New GxSolidBrush();
BottomBrush: GxSolidBrush = New GxSolidBrush();
TopColor: GxColorClass_2 = New GxColorClass_2();
BottomColor: GxColorClass_2 = New GxColorClass_2();
Begin
// Получим репозиторий
Metabase := Params.Metabase;
// Получим экспресс-отчёт
Analyzer := Metabase.ItemById["EXPRESS_IPIVOTPARETOSETTENGSITEM"].Edit() As IEaxAnalyzer;
// Получим таблицу экспресс-отчета
Pivot := Analyzer.Pivot;
// Будем применять анализ 80/20 к столбцам
ColumnSettings := Pivot.Pareto.ColumnsSettings;
// Включим анализ только для первого столбца
ColumnSettings.Enabled := True;
ColumnSettings.ElementIndex := 0;
// Получим максимальные значения анализируемого столбца
TopSettings := ColumnSettings.TopSettings;
// Изменим тип расчета
TopSettings.Kind := PivotParetoKind.ppkCount;
// Включим отображение ячеек с максимальными значениями
TopSettings.Display := True;
// Изменим количество отображаемых ячеек с максимальными значениями
TopSettings.Threshold := 2;
// Получим минимальные значения анализируемого столбца
BottomSettings := ColumnSettings.BottomSettings;
// Изменим тип расчета
BottomSettings.Kind := PivotParetoKind.ppkCount;
// Включим отображение ячеек с минимальными значениями
BottomSettings.Display := True;
// Изменим количество отображаемых ячеек с минимальными значениями
BottomSettings.Threshold := 2;
// Получим таблицу данных отчета
Grid := Analyzer.Grid;
// Получим параметры оформления таблицы
Style := Grid.Style;
// Создадим и зададим зеленый цвет фона ячеек c максимальными значениями
AbcTopStyle := New TabCellStyle.Create();
TopColor.CreateRGB(0, 128, 0);
TopBrush.Create(TopColor);
AbcTopStyle.BackgroundBrush := TopBrush;
Style.ABCTopStyle := AbcTopStyle;
// Создадим и зададим красный цвет фона ячеек с минимальными значениями
AbcBottomStyle := New TabCellStyle.Create();
BottomColor.CreateRGB(255, 0, 0);
BottomBrush.Create(BottomColor);
AbcBottomStyle.BackgroundBrush := BottomBrush;
Style.ABCBottomStyle := AbcBottomStyle;
// Сохраним изменения
(Analyzer As IMetabaseObject).Save();
End Sub;
См. также: