Общие сведения о компоненте BindingSource
Компонент BindingSource предназначен для упрощения процесса привязки элементов управления к источнику данных. Компонент BindingSource выступает в качестве источника и канала передачи данных для привязки других элементов управления. Он реализует абстракцию подключения данных формы, перенаправляя команды к базовому списку данных. Кроме того, можно добавлять данные непосредственно в него, поэтому сам компонент выступает и в качестве источника данных.
Компонент BindingSource в качестве посредника
Компонент BindingSource выступает в качестве источника данных для некоторых или всех элементов управления формы. BindingSource можно привязать к элементу управления в Visual Studio с помощью свойства 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.
Обработка данных
BindingSource выступает в качестве CurrencyManager для всех привязок и, таким образом, может предоставлять доступ к сведениям о валюте и положении в зависимости от источника данных. В следующей таблице показаны члены, предоставляемые компонентом BindingSource для доступа и обработки базовых данных.
Элемент | Description |
---|---|
Свойство Current | Возвращает текущий элемент источника данных. |
Свойство Position | Возвращает или задает текущую позицию в базовом списке. |
Свойство List | Возвращает список, который является результатом вычисления DataSource и DataMember. Если свойство DataMember не задано, то возвращается список, указанный в DataSource. |
InsertМетод | Вставляет элемент в список по указанному индексу. |
RemoveCurrentМетод | Удаляет текущий элемент из списка. |
EndEditМетод | Применяет ожидающие изменения к базовому источнику данных. |
CancelEditМетод | Отменяет текущую операцию редактирования. |
AddNewМетод | Добавляет новый элемент в базовый список. Если источник данных реализует IBindingList и возвращает элемент из события AddingNew, то добавляется этот элемент. В противном случае запрос передается в метод AddNew списка. Если базовый список не является IBindingList, элемент автоматически создается с помощью его открытого конструктора без параметров. |
Сортировка и фильтрация
Как правило, работа осуществляется с упорядоченным или отфильтрованным представлением источника данных. В следующей таблице показаны члены, предоставляемые компонентом BindingSource источника данных.
Элемент | Description |
---|---|
Свойство Sort | Если источником данных является IBindingList, то возвращает или задает имя столбца, используемого для сортировки, и порядок сортировки. Если источником данных является IBindingListView и поддерживается расширенная сортировка, то возвращает имена нескольких столбцов, используемых для сортировки, и порядок сортировки |
Свойство Filter | Если источником данных является IBindingListView, то возвращает или задает выражение, используемое для фильтрации просматриваемых строк. |
См. также
.NET Desktop feedback