Поиск в источнике данных через источник привязки

b метод принимает имя свойства

Для поиска в источнике данных через источник привязки вы можете вызвать на источнике привязки метод Find. Метод принимает имя свойства и ссылку типа Object. Имя свойства указывает, какое из свойств каждого из объектов в коллекции данных следует проверять, а ссылка на Object Содержит значение, которое требуется в нем найти. При обнаружении в списке первого элемента, у которого указанное свойство соответствует указанному значению, метод возвращает его индекс. Для правильной работы метода необходимо, чтобы источник данных поддерживал IBindingList И возвращал True В свойстве IBindingList. SupportsSearching. Использование метода Find Иллюстрируется следующим примером.

Этот код производит поиск по свойству CompanyName Во всех элементах списка, поддерживаемого источником привязки, отыскивая элемент со значением, соответствующим переданному в метод. Обратите внимание, что не делается никаких предположений относительно типа источника данных или его объектов. Этот метод одинаково хорошо работал бы и С CustomersDataTable Или коллекцией рабочих объектов Customer, При условии, что эта коллекция реализует IBindingList С поддержкой поиска. В главе 9 приводится пример того, как предусмотреть в своей коллекции такую поддержку.

Если опорная коллекция данных реализует интерфейс IBindingListView И возвращает True В свойстве IBindingListView.SupportsFiltering, То в свойстве Filter Источника привязки можно установить выражение фильтра. Если это сделать, то через источник привязки будут доступны только данные, отфильтрованные в соответствии с указанным критерием. При определенных характеристиках источника данных этот механизм может работать аналогично фильтрации DataView В ADO. NET. Конкретный синтаксис и степень сложности выражений, поддерживаемые фильтром, определяются источником данных. Выражение фильтра просто передается через источник привязки источнику данных, который и осуществляет фильтрацию, как показано в следующем примере:

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

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