Общие сведения о компоненте BindingSource
Компонент BindingSource разработан для упрощения процесса привязки элементов управления к базовым источникам данных. Компонент BindingSource действует и как канал передачи, и как источник данных для привязки других элементов управления. Он содержит абстракцию подключения к данным используемой формы, присутствуя в командах и базовом списке данных. Кроме того, можно добавлять данные непосредственно в этот компонент, поскольку сам он выступает в качестве источника данных.
Компонент BindingSource в качестве посредника
Компонент BindingSource выступает в качестве источника данных для некоторых или всех элементов управления в форме. В Visual Studio компонент BindingSource можно привязать к элементу управления с помощью свойства DataBindings, которое можно настроить в окне Свойства. Дополнительные сведения см. в следующем разделе. Практическое руководство. Связывание элементов управления Windows Forms с компонентом BindingSource с помощью конструктора и Практическое руководство. Связывание элементов управления Windows Forms с компонентом BindingSource с помощью конструктора.
Можно привязать компонент BindingSource как к простым источникам данных, например к одному свойству объекта или базовой коллекции, как то ArrayList, так и к сложным источникам данных, например к таблице базы данных. Компонент BindingSource действует в качестве посредника, обеспечивающего привязку и работу служб оперативного управления. Во время разработки или выполнения можно привязать компонент BindingSource к сложному источнику данных путем присвоения его свойствам DataSource и DataMember значений базы данных и таблицы соответственно. В следующем примере описывается использование компонента BindingSource в существующей архитектуре привязки данных.
Примечание
При выполнении некоторых действий во время разработки, например при перетаскивании базы данных из окна данных в пустую форму, одна единственная операция позволяет создать компонент BindingSource, привязать его к базовому источнику данных и добавить элементы управления данными.Дополнительные сведения см. в следующем разделе. Общие сведения об отображении данных и Привязка элементов управления Windows Forms к данным в Visual Studio и Привязка элементов управления Windows Forms к данным в Visual Studio.
Компонент BindingSource в качестве источника данных
Если начать добавление элементов к компоненту BindingSource, не указав сначала список для привязки, то компонент будет работать в качестве списочного источника данных и принимать добавляемые элементы.
Кроме того, можно написать код для реализации пользовательской функции "AddNew" с использованием события AddingNew, инициируемого при вызове метода AddNew перед добавлением элемента в список. Дополнительные сведения см. в разделе Архитектура компонента BindingSource.
Навигация
Если необходимо перемещение по данным в форме, компонент BindingNavigator обеспечивает переход по данным и управление ими в координации с компонентом BindingSource. Дополнительные сведения см. в разделе Элемент управления BindingNavigator (Windows Forms).
Управление данными
Компонент BindingSource действует в качестве CurrencyManager для всех своих привязок, что позволяет ему обеспечить доступ к текущей информации и сведениям о позиции для данного источника данных. В приведенной ниже таблице перечислены элементы, используемые компонентом BindingSource для доступа к базовым данным и управления ими.
Элемент |
Описание |
---|---|
Свойство Current |
Возвращает текущий элемент источника данных. |
Свойство Position |
Получает или задает текущую позицию в базовом списке. |
Свойство List |
Возвращает список с результатами вычислений значений свойств DataSource и DataMember. Если значение свойства DataMember не задано, возвращает список, определяемый свойством DataSource. |
Метод Insert |
Вставляет элемент в список по указанному индексу. |
Метод RemoveCurrent |
Удаляет текущий элемент из списка. |
Метод EndEdit |
Применяет незавершенные изменения к базовому источнику данных. |
Метод CancelEdit |
Отменяет текущую операцию редактирования. |
Метод AddNew |
Добавляет новый элемент в базовый список. Добавьте этот элемент, если источник данных реализует интерфейс IBindingList и возвращает элемент из события AddingNew. В противном случае, запрос передается методу AddNew списка. Если в качестве базового списка используется не IBindingList, то элемент автоматически создается с помощью открытого стандартного конструктора. |
Сортировка и фильтрация
Обычно пользователь работает с таким представлением источника данных, для которого можно выполнить упорядочение и фильтрацию. В приведенной ниже таблице перечислены элементы, используемые источником данных компонента BindingSource.
Элемент |
Описание |
---|---|
Свойство Sort |
Если в качестве источника данных используется IBindingList, получает или задает имя используемого для сортировки столбца и порядок сортировки. Если в качестве источника данных используется IBindingListView с поддержкой расширенной сортировки, возвращает имена нескольких используемых для сортировки столбцов и порядок сортировки. |
Свойство Filter |
Если в качестве источника данных используется IBindingListView, получает или задает выражение, используемое для фильтрации отображаемых строк. |
См. также
Ссылки
Основные понятия
Архитектура компонента BindingSource
Другие ресурсы
Элемент управления BindingNavigator (Windows Forms)
Связывание элементов управления Windows Forms с данными
Элементы управления для использования в формах Windows Forms