Поделиться через


Общие сведения о компоненте BindingSource

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

Компонент BindingSource в качестве посредника

Компонент BindingSource выступает в качестве источника данных для некоторых или всех элементов управления в форме. В Visual Studio BindingSource можно привязать к элементу управления с помощью свойства DataBindings, доступного из окна Свойств. См. также : Как привязать элементы управления Windows Forms с помощью компонента BindingSource, используя средство проектирования.

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

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

Заметка

Во время разработки некоторые действия, такие как перетаскивание таблицы базы данных из окна данных в пустую форму, создадут компонент BindingSource, привяжут его к базовому источнику данных и добавят управляющие элементы с поддержкой данных в рамках одной операции. См. также Привязывание элементов управления Windows Forms к данным в Visual Studio.

Компонент BindingSource в качестве источника данных

Если вы начинаете добавлять элементы в компонент BindingSource без первого указания списка, к которым необходимо привязать, компонент будет выступать как источник данных в стиле списка и принимать эти добавленные элементы.

Кроме того, можно написать код для предоставления пользовательских функций AddNew с помощью события AddingNew, которое возникает при вызове метода AddNew до добавления элемента в список. Дополнительные сведения см. в архитектуре компонента BindingSource.

Для пользователей, которым требуется перемещать данные в форме, компонент BindingNavigator позволяет перемещать данные и управлять ими в координации с компонентом BindingSource. Дополнительную информацию см. в элементе управления BindingNavigator.

Обработка данных

The: 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, получает или задает выражение, используемое для фильтрации, какие строки будут отображаться.

См. также