Показать содержание 

Express > Интерфейсы сборки Express > IEaxGrid > IEaxGrid.ApplySelectionToFilterRange

IEaxGrid.ApplySelectionToFilterRange

Синтаксис Fore

ApplySelectionToFilterRange(Range: IPivotFilterRange);

Синтаксис Fore.NET

ApplySelectionToFilterRange(Range: Prognoz.Platform.Interop.Pivot.IPivotFilterRange);

Параметры

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

Описание

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

Комментарии

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

Пример Fore

Для выполнения примера в репозитории необходимо наличие экспресс-отчета с идентификатором «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.

Пример Fore.NET

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

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

Public Shared Sub Main(Params: StartParams);
Var
    MB: IMetabase;
    Express: IEaxAnalyzer;
    Pivot: IPivot;
    Grid: IEaxGrid;
    Filter: IPivotFilter;
    Range: IPivotFilterRange;
    TabRange: ITabRange;
    Selection: ITabSelection;
    TabView: ITabView;
Begin
    // Получим репозиторий
    MB := Params.Metabase;
    // Получим экспресс-отчет
    Express := MB.ItemById["EXPRESS_REPORT"].Edit() As IEaxAnalyzer;
    // Получим настройки отображения данных таблицы
    Pivot := Express.Pivot;
    // Получим параметры фильтрации
    Filter := Pivot.Filter;
    // Зададим условие фильтрации - больше числа
    Filter.ConditionType := PivotFilterType.pftGA;
    // Зададим число
    Filter.ConditionValueA := 15;
    // Зададим фильтрацию по строкам
    Filter.Elements := PivotFilterElements.pfeRows;
    // Получим диапазон фильтрации
    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.pfaRange;
    // Применим фильтрацию к таблице с данными
    Filter.UseCondition := True;
    // Сохраним изменения
    (Express As IMetabaseObject).Save();
End Sub;

См. также:

IEaxGrid