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(1, 1, 5, 5);
// Получим представление электронной таблицы
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.
См. также: