Источники данных, поддерживаемые Windows Forms
Традиционно привязка данных использовалась в приложениях для использования данных, хранящихся в базах данных. При привязке данных Windows Forms можно получить доступ к данным из баз данных, а также данных в других структурах, таких как массивы и коллекции, до тех пор, пока выполнены определенные минимальные требования.
Структуры для привязки
В Windows Forms можно привязать к различным структурам, от простых объектов (простая привязка) к сложным спискам, таким как ADO.NET таблицы данных (сложная привязка). Для простой привязки Windows Forms поддерживает привязку к общедоступным свойствам простого объекта. Привязка на основе списка Windows Forms обычно требует, чтобы объект поддерживал интерфейс IList или интерфейс IListSource. Кроме того, при привязке через компонент BindingSource можно привязать к объекту, который поддерживает интерфейс IEnumerable. Дополнительные сведения об интерфейсах, связанных с привязкой данных, см. в интерфейсах, связанных с привязкой данных.
В следующем списке показаны структуры, к которые можно привязать в Windows Forms.
BindingSource
BindingSource является наиболее распространенным источником данных Windows Forms и действует как прокси между источником данных и элементами управления Windows Forms. Общий BindingSource шаблон использования заключается в привязке элементов управления к BindingSource и привязке BindingSource к источнику данных (например, ADO.NET таблице данных или бизнес-объекту).
BindingSource предоставляет службы, которые обеспечивают и улучшают уровень поддержки привязки данных. Например, элементы управления на основе списка Windows Forms, такие как DataGridView и ComboBox, не поддерживают прямую привязку к источникам данных IEnumerable, однако можно включить этот сценарий, привязав BindingSource. В этом случае BindingSource преобразует источник данных в IList.
Простые объекты
Windows Forms поддерживает свойства элемента управления привязкой данных к общедоступным свойствам экземпляра объекта с помощью типа Binding. Windows Forms также поддерживает контроли, основанные на привязке списков, например ListControl к экземпляру объекта, когда используется BindingSource.
массив или коллекция
Чтобы выступать в качестве источника данных, список должен реализовать интерфейс IList; одним из примеров будет массив, который является экземпляром класса Array. Дополнительные сведения о массивах см. в разделе Практическое руководство. Создание массива объектов (Visual Basic).
Как правило, при создании списков объектов для привязки данных следует использовать BindingList<T>. BindingList<T> — это универсальная версия интерфейса IBindingList. Интерфейс IBindingList расширяет интерфейс IList путем добавления свойств, методов и событий, необходимых для двусторонней привязки данных.
IEnumerable
Элементы управления Windows Forms могут быть привязаны к источникам данных, поддерживающим только интерфейс IEnumerable, если они привязаны через компонент BindingSource.
объекты данных ADO.NET
ADO.NET предоставляет ряд структур данных, подходящих для привязки. Каждый отличается степенью изысканности и сложностью.
DataColumn. DataColumn является основным блоком DataTable, поскольку таблица состоит из ряда столбцов. Каждый DataColumn имеет свойство DataType, определяющее тип данных, которые хранит столбец (например, марка автомобиля в таблице, описывающей автомобили). Можно просто привязать элемент управления (например, свойство Text элемента управления TextBox) к столбцу в таблице данных.
DataTable. DataTable — это представление таблицы с строками и столбцами в ADO.NET. Таблица данных содержит две коллекции: DataColumn, представляющую столбцы данных в данной таблице (которые в конечном итоге определяют типы данных, которые можно ввести в этой таблице) и DataRow, представляющие строки данных в данной таблице. Вы можете выполнить сложную привязку элемента управления к сведениям, содержащимся в таблице данных (например, привязке элемента управления DataGridView к таблице данных). Однако при привязке к DataTableвы действительно привязываетесь к представлению таблицы по умолчанию.
DataView. DataView — это настраиваемое представление одной таблицы данных, которую можно отфильтровать или отсортировать. Представление данных — это моментальный снимок данных, используемый сложными элементами управления. Вы можете просто привязать или выполнить сложную привязку к данным в представлении данных, но помните, что вы привязываетесь к фиксированной "картине" данных, а не к чистому, обновляемом источнику данных.
DataSet. DataSet — это коллекция таблиц, связей и ограничений данных в базе данных. Вы можете просто привязать или выполнить сложную привязку к данным в наборе данных, но помните, что по умолчанию будет привязка к DataViewManager для DataSet (см. следующий пункт).
DataViewManager. DataViewManager — это настраиваемое представление всего DataSet, аналогичное DataView, но с включенными отношениями. С помощью коллекции DataViewSettings можно задать фильтры по умолчанию и параметры сортировки для всех представлений, которые DataViewManager имеет для данной таблицы.
См. также
- уведомление об изменении в привязке данных Windows Forms
- Привязка данных и Windows Forms
- Windows Forms - привязка данных
.NET Desktop feedback