Настройка отображения данных таблицы

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

Для выполнения примера предполагается наличие в репозитории экспресс-отчета с идентификатором «EXPRESS», источником данных которого является стандартный куб.

Пример Fore

Добавьте ссылки на системные сборки: Express, Metabase, Pivot.

Sub UserProc;
Var
    MB: IMetabase;
    Express: IEaxAnalyzer;
    Pivot: IPivot;
    Totals: IPivotEvaluatorTotals;
    HighItem: IPivotHighlightItem;
    Filter: IPivotFilterSettings;
Begin
    // Получим репозиторий
    MB := MetabaseClass.Active;
    // Получим экспресс-отчет
    Express := MB.ItemById("EXPRESS").Edit As IEaxAnalyzer;
    Pivot := Express.Pivot;
    //Итоги
    Totals := Pivot.Evaluator.Totals;
    Totals.RowTypes := PivotEvaluatorElementType.Sum + PivotEvaluatorElementType.Max;
    Totals.IncludeOwner := True;
    Totals.TreatEmptyAsZero := False;
    //Подсветка данных в диапазоне [10;20]
    HighItem := Pivot.Highlight.Add;
    HighItem.ConditionType := PivotHighlightType.NLAandNGB;
    HighItem.ConditionValueA := 10;
    HighItem.ConditionValueB := 20;
    HighItem.Area := PivotFilterArea.Table;
    HighItem.Enabled := True;
    //Фильтрация данных
    Filter := Pivot.Filter As IPivotFilterSettings;
    Filter.Enabled := True;
    Filter.UseCondition := True;
    Filter.ConditionType := PivotFilterType.NEqA;
    Filter.ConditionValueA := 25;
    // Сохраним изменения
    (Express As IMetabaseObject).Save;
End Sub UserProc;

После выполнения примера в таблице экспресс-отчета будут выведены: итоги, будут подсвечены данные в диапазоне [10;20], будет осуществлена фильтрация по значениям не равным 25.

Пример Fore.NET

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

Imports Prognoz.Platform.Interop.Express;
Imports Prognoz.Platform.Interop.Pivot;

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    Express: IEaxAnalyzer;
    Pivot: IPivot;
    Totals: IPivotEvaluatorTotals;
    HighItem: IPivotHighlightItem;
    Filter: IPivotFilterSettings;
Begin
    // Получим репозиторий
    MB := Params.Metabase;
    // Получим экспресс-отчет
    Express := MB.ItemById["EXPRESS"].Edit() As IEaxAnalyzer;
    Pivot := Express.Pivot;
    //Итоги
    Totals := Pivot.Evaluator.Totals;
    Totals.RowTypes := (PivotEvaluatorElementType.peetSum As Integer) + (PivotEvaluatorElementType.peetMax As Integer);
    Totals.IncludeOwner := True;
    Totals.TreatEmptyAsZero := False;
    //Подсветка данных в диапазоне [10;20]
    HighItem := Pivot.Highlight.Add();
    HighItem.ConditionType := PivotHighlightType.phtNLAandNGB;
    HighItem.ConditionValueA := 10;
    HighItem.ConditionValueB := 20;
    HighItem.Area := PivotFilterArea.pfaTable;
    HighItem.Enabled := True;
    //Фильтрация данных
    Filter := Pivot.Filter As IPivotFilterSettings;
    Filter.Enabled := True;
    Filter.UseCondition := True;
    Filter.ConditionType := PivotFilterType.pftNEqA;
    Filter.ConditionValueA := 25;
    // Сохраним изменения
    (Express As IMetabaseObject).Save();
End Sub;

См. также:

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