Поиск и фильтрация
Контролы TreeList и TreeView поддерживают функции, которые позволяют вам и пользователю фильтровать данные и выполнять поиск.
Панель поиска (TreeList и TreeView)
Панель поиска помогает пользователю быстро найти узлы по содержащимся в них данным. Установите для свойства SearchPanelDisplayMode
контрола (унаследованного от класса DataControlBase
) одно из следующих значений, чтобы включить панель поиска:
SearchPanelDisplayMode.Always
— Контрол постоянно отображает панель поиска.SearchPanelDisplayMode.HotKey
— Контрол отображает панель поиска, когда пользователь нажимает горячую клавишу CTRL+F. Горячая клавиша ESC очищает панель поиска. Последующее нажатие клавиши ESC закрывает панель. Пользователь также может активировать панель поиска из контекстного меню заголовка столбца.
Контрол фильтрует данные (используя оператор сравнения Contains), когда пользователь вводит текст на панели поиска. Свойство TreeListControlBase.FilterMode
указывает, какие узлы отображаются при обнаружении совпадений. Поддерживаются два режима фильтрации:
FilterMode.ShowMatches
— Отображает узлы, соответствующие тексту поиска.FilterMode.ShowMatchesWithAncestors
— Отображает узлы, соответствующие тексту поиска, и их родительские узлы.
Функция поиска не чувствительна к регистру.
Связанный API
DataControlBase.SearchText
— Получает или задает текст для поиска. Вы можете присвоить значение этому свойству, чтобы отфильтровать контрол в коде. Эта функция фильтрации поддерживается, даже если панель поиска скрыта или отключена (свойствуSearchPanelDisplayMode
присвоено значениеSearchPanelDisplayMode.Never
).DataControlBase.IsSearchPanelVisible
— Определяет, видна ли панель поиска в данный момент.ShowSearchPanelCloseButton
— Позволяет скрыть встроенную кнопку закрытия панели поиска.
Пример
Следующий код делает панель поиска всегда видимой и позволяет отображать отфильтрованные узлы вместе с их родительскими элементами. Свойство SearchText
определяет текст, отображаемый на панели поиска.
treeList.SearchPanelDisplayMode = SearchPanelDisplayMode.Always;
treeList.FilterMode = FilterMode.ShowMatchesWithAncestors;
treeList.SearchText = "department";
Строка автоматической фильтрации (TreeList)
Строка автоматического фильтра - это специальная строка, отображаемая над всеми узлами TreeList. Это позволяет пользователю вводить текст в свои ячейки, чтобы отфильтровать данные по соответствующим столбцам.
Установите для свойства TreeList.ShowAutoFilterRow
значение true
, чтобы включить автоматическую фильтрацию строки.
Вы можете использовать свойство ColumnBase.AutoFilterCondition
, чтобы указать операцию сравнения данных для определенных ячеек (столбцов) строки автоматической фильтрации. Когда пользователь вводит текст, TreeList использует указанную операцию сравнения для сравнения значений столбцов при поиске целевых узлов. Поддерживаются следующие операции сравнения данных:
Equals
— Значения узлов в целевом столбце должны соответствовать введенному значению.Contains
— Значения узлов в целевом столбце должны содержать введенное значение. Этот режим подходит для строковых значений.StartsWith
— Значения узлов в целевом столбце должны начинаться с введенного значения. Этот режим подходит для строковых значений.Default
— ОпцияDefault
эквивалентна опцииContains
для типов данных String и Object. Эта опция эквивалентна опцииEquals
для других типов данных.
Свойство ColumnBase.AutoFilterValue
позволяет вам установить значение для конкретной ячейки строки автоматической фильтрации в коде. Вы можете использовать ColumnBase.AutoFilterValue
для фильтрации TreeList, даже если строка автоматической фильтрации скрыта.
Режим фильтрации контрола по умолчанию заключается в отображении только тех узлов, которые соответствуют указанным критериям. Установите для свойства TreeListControlBase.FilterMode
значение FilterMode.ShowMatchesWithAncestors
, чтобы отображать целевые узлы вместе с их родительскими.
Функциональность фильтра не зависит от регистра.
Пример
Следующий код активирует строку автоматической фильтрации и отображает узлы, значения которых в столбце "Имя" начинаются с "M".
treeList1.ShowAutoFilterRow = true;
TreeListColumn colName = treeList1.Columns["Name"];
colName.AutoFilterCondition = AutoFilterCondition.StartsWith;
colName.AutoFilterValue = "M";
Фильтрация в коде
Свойства DataControlBase.SearchText
и ColumnBase.AutoFilterValue
можно использовать для фильтрации контролов TreeList и TreeView в коде, даже если панель поиска и строка автоматической фильтрации скрыты.
Если вы используете свойство DataControlBase.SearchText
, TreeList фильтрует узлы путем поиска введенного текста во всех столбцах. Используется операция сравнения содержимого.
Если вы используете свойство ColumnBase.AutoFilterValue
, TreeList выполняет поиск введенного текста в указанном столбце. Свойство ColumnBase.AutoFilterCondition
определяет операцию сравнения.
* Эта страница была создана автоматически с помощью сервиса машинного перевода Яндекс Переводчик.