IEaxGrid.ApplySelectionToFilterRange

Синтаксис

ApplySelectionToFilterRange(Range: IPivotFilterRange);

Параметры

Range. Область таблицы.

Описание

Метод ApplySelectionToFilterRange передает параметры области таблицы в качестве диапазона, в котором будет осуществляться фильтрация данных.

Комментарии

Для задания выделенной области таблицы используйте ITabSheet.Cells и ITabSelection.AddRange.

Пример

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

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

Sub UserProc;
Var
    MB: IMetabase;
    Express: IEaxAnalyzer;
    Pivot: IPivot;
    Grid: IEaxGrid;
    Filter: IPivotFilter;
    Range: IPivotFilterRange;
    TabRange: ITabRange;
    Selection: ITabSelection;
    TabView: ITabView;
Begin
    // Получим репозиторий
    MB := MetabaseClass.Active;
    // Получим экспресс-отчет
    Express := MB.ItemById("EXPRESS_REPORT").Edit As IEaxAnalyzer;
    // Получим настройки отображения данных таблицы
    Pivot := Express.Pivot;
    // Получим параметры фильтрации
    Filter := Pivot.Filter;
    // Зададим условие фильтрации - больше числа
    Filter.ConditionType := PivotFilterType.GA;
    // Зададим число
    Filter.ConditionValueA := 15;
    // Зададим фильтрацию по строкам
    Filter.Elements := PivotFilterElements.Rows;
    // Получим диапазон фильтрации
    Range := Filter.Range;
    // Получим таблицу данных отчета
    Grid := Express.Grid;
    // Зададим диапазон выделенной области
    TabRange := Grid.TabSheet.Cells(1155);
    // Получим представление электронной таблицы
    TabView := Grid.TabSheet.View;
    // Получим текущую отметку в таблице
    Selection := TabView.Selection;
    // Добавим диапазон в отметку таблицы
    Selection.AddRange(TabRange);
    // Передадим отметку таблицы в диапазон фильтрации
    Grid.ApplySelectionToFilterRange(Range);
    // Зададим область, для которой применится фильтрация
    Filter.Area := PivotFilterArea.Range;
    // Применим фильтрацию к таблице с данными
    Filter.UseCondition := True;
    // Сохраним изменения
    (Express As IMetabaseObject).Save;
End Sub UserProc;

После выполнения примера будет осуществлена фильтрация данных в заданном диапазоне выделенной области таблицы. Будут отфильтрованы данные по строкам, в которых значения больше 15.

См. также:

IEaxGrid