Интерфейс IBindingListView: поддержка расширенной сортировки и фильтрации

i как было описано в

Интерфейс IBindingListView Дополняет возможности привязки данных интерфейса IBindingList, Вводя поддержку сортировки по набору свойств и фильтрации списка. Как было описано в предыдущем разделе, интерфейс IBindingList Обеспечивает простые функции сортировки и поиска. Однако иногда вам требуются дополнительные функциональные возможности. Вам может потребоваться сортировать коллекцию одновременно по нескольким свойствам или столбцам, или фильтровать представляемые коллекцией элементы по некоторому критерию, не отыскивая соответствующие ему элементы по одному. Интерфейс IBindingListView Предназначен как раз для таких случаев. IBindingListView Является производным от IBindingList, Так что все сказанное об IBindingList И его базовых интерфейсах остается в силе и здесь. Свойства и методы IBindingListView Описываются в Для поддержки расширенной сортировки коллекция должна быть способна устанавливать порядок исходя одновременно из нескольких свойств своих объектов данных. Перед попыткой применения расширенной сортировки код клиента должен проверить, истинно ли свойство SupportsAdvan — CedSorting. Если это так, то критерии сортировки специфицируются путем конструирования коллекции объектов ListSortDescription, Которая передается методу ApplySort Интерфейса IBindingListView. Тип ListSortDescription Весьма прост: это просто контейнер для пары, состоящей из свойства PropertyDescriptor И свойства SortDirection. Как правило, порядок этих элементов в ListSortDescriptionCoilection Определяет порядок, в котором применяются критерии сортировки. Чтобы удалить применявшуюся ранее сортировку, просто вызовите метод RemoveSort, Унаследованный от базового класса IBindingList. Чтобы получить доступ к текущим описаниям сортировки, применяемым к коллекции, можно проверить свойство IsSorted Базового интерфейса, после чего обратиться к свойству SortDescriptions, Чтобы получить коллекцию элементов ListSortDesc — Ription, Используемых в данный момент Если коллекция поддерживает фильтрацию, она должна возвращать True В свойстве SupportsFiltering. Тогда при помощи свойства Filter Вы можете установить строку фильтра, что немедленно изменит объекты данных, экспонируемые коллекцией при ее итерации. Формат строки фильтра будет относиться к разряду деталей реализации, отдельно специфицируемых для коллекции каждого типа.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *