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