Сортировка и фильтрация

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

Введите или вставьте сюда какой-либо текст, чтобы превратить его в выборку.

Сортировка строк

Вы можете сортировать строки редактируемой или просматриваемой таблицы данных. Чтобы включить сортировку, щелкните по заголовку столбца. Клик по заголовку, уже использованному для сортировки, изменит порядок сортировки.

Чтобы отсортировать таблицу по нескольким столбцам, щелкните по ним в нужном порядке приоритета сортировки, удерживая нажатой клавишу Ctrl.

Сортировка списка объектов

Если в качестве источника данных для редактора используется список объектов, обновление правил сортировки приводит к сортировке всего списка объектов, а не только отображаемых в данный момент записей. Таким образом, пересортировка может полностью изменить видимые в данный момент записи.

Фильтрация строк

Существует несколько способов фильтрации данных в редакторе таблиц.

Использование текстового поля фильтра

Введите текст в текстовое поле фильтра, расположенное на панели инструментов редактора таблиц (и обозначенное значком “лупа”). Содержимое таблицы будет обновлено в соответствии с условием фильтра.

Контекстное меню панели фильтрации предоставляет следующие операции:

Выбрать колонки

Позволяет выполнять поиск во всех колонках или только в выбранных колонках.

Чувствительность к регистру

Включает поиск с учетом регистра.

Без учета регистра

Отключает поиск с учетом регистра.

Подстановочные знаки

Включает/отключает режим поиска по подстановочным знакам. Знаки могут включать символы * или ?, которые соответствуют любым нескольким символам или одному символу, соответственно. Символы * и ? могут быть экранированы с помощью \.

Использовать регулярное выражение

Включает/выключает режим поиска по регулярным выражениям.

Сравнивать с начала

Текст фильтра должен находиться в начале текста ячейки.

Сравнивать полностью

Текст фильтра должен точно совпадать с текстом ячейки.

Сравнивать вхождение

Текст фильтра может быть в любом месте текста ячейки.

Использование быстрого фильтра

Наведите указатель мыши на ячейку с заголовком столбца, и в текущей ячейке появится значок быстрого фильтра. Кликните на этот значок и выберите значения полей, которые должны быть показаны. Записи с другими значениями полей будут отфильтрованы.

Расширенные фильтры

Расширенные фильтры представляют собой интуитивно понятный интерфейс для создания сложных пользовательских фильтров. Если установлено свойство Показать расширенные фильтры компонента Таблица данных, пользователь может добавить любое количество параметров фильтрации, соответствующих типу таблицы, из меню фильтра. В случае если этих параметров фильтрации недостаточно, фильтры произвольной сложности можно реализовать с помощью выражения и сразу же применить к таблице с помощью тулбара Расширенных фильтров.

Тулбар

Тулбаром Расширенных фильтров можно управлять с помощью следующих элементов:

Значок

Операция

Показать тулбар Расширенных фильтров.

Скрыть тулбар Расширенных фильтров.

Открывает меню с чекбоксами, содержащее список всех полей, по которым можно отфильтровать данные. При выборе поле создает Расширенный фильтр для этого поля. Аналогичным образом, снятие флажка с поля удалит все фильтры, примененные к этому полю.

Кнопка Расширенного фильтра появляется для каждого поля, выбранного в меню Установить фильтры. Текст кнопки указывает на имя фильтруемого поля и предпросмотр применяемых условий фильтрации. По нажатию на кнопку открывается меню со всеми условиями, подходящими для данного типа поля, которые можно применить при фильтрации.

Переключение между Выражением расширенного поиска и Расширенными фильтрами.

Применяет фильтрацию, описанную в Выражении расширенного поиска.

Параметры фильтрации

По нажатию на Кнопку расширенного фильтра для поля отображается меню с параметрами фильтрации, соответствующими типу фильтруемого поля. Например, поле строкового типа будет иметь критерии фильтрации "Равно", "Содержит" и так далее, а поле числового типа - критерии "Равно", "Больше чем" и так далее.

Когда пользователь редактирует один из критериев фильтрации " Равно", " Не равно" или "Содержит", первые несколько уникальных значений поля отображаются в виде элементов в выпадающем списке, чтобы дать ему представление о возможных значениях. Пользователи могут выполнить нечеткий поиск уникальных значений поля, просто введя значение в поле критериев.

Фильтрация с помощью выражений

Переключение на пользовательское выражение фильтрации скрывает Кнопки расширенного фильтра и открывает поле ввода для выражения. Выражение пользовательской фильтрации вычисляется для каждой строки данных. Все строки, в которых результатом выражения является True, будут отображены, а все остальные значения будут исключены из результатов фильтрации.

Выражение расширенного поиска имеет следующую Среду вычисления:

Контекст по умолчанию

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

Таблица данных по умолчанию

Таблица, просматриваемая/редактируемая в редакторе таблиц данных.

Ряд по умолчанию

Строка, которая обрабатывается.

Переменные среды

Только стандартные переменные.

Рассмотрим следующий пример сложного фильтра, который может быть реализован с помощью Выражения расширенного поиска:

Предположим, база данных с информацией о сотрудниках включает поля totalHoursWorked и totalExpendedSickLeave, и фильтр должен вернуть список всех сотрудников, у которых отношение totalHoursWorked к totalExpendedSickLeave меньше 83. Такой фильтр требует сравнения значений двух полей для каждой строки, что можно сделать только с помощью языка выражений.

Выражение, которое фильтрует нужный результат, будет выглядеть следующим образом:

{totalHoursWorked} / {totalExpendedSickLeave} < 83

Это выражение возвращает значение True, если отношение totalHoursWorked к totalExpendedSickLeave меньше 83, и в результате в отфильтрованной таблице появятся только те сотрудники, которые соответствуют этому критерию.

Фильтрация списка экземпляров класса

Если в качестве источника данных для редактора используется список экземпляров класса, обновление правил фильтрации приводит к фильтрации всего списка экземпляров класса, а не только отображаемых в данный момент экземпляров. Таким образом, новые правила фильтрации могут полностью изменить видимые в данный момент записи.