Связывание данных и Windows Forms
В Windows Forms можно выполнить привязку не только к традиционным источникам данных, но и к практически к любой структуре, содержащий данные. Можно выполнить привязку к массиву значений, который рассчитывается во время выполнения, считывается из файла или является производным от значений других элементов управления.
Кроме того, любое свойство любого элемента можно привязать к источнику данных. При традиционной привязке данных пользователь обычно привязывает отображаемое свойство, например свойство Text элемента управления TextBox, к источнику данных. В .NET Framework имеется возможность задавать другие свойства посредством привязки. Привязку можно использовать для выполнения следующих задач.
Задание рисунка для элемента управления изображения.
Задание цвета фона для одного или нескольких элементов управления.
Задание размера элементов управления.
По существу, привязка данных является автоматическим способом задания любого доступного во время выполнения свойства любого элемента управления в форме.
Типы привязки данных
Windows Forms можно использовать преимущества двух типов привязки данных: простой и сложной. Каждая имеет собственные преимущества.
Тип привязки данных | Описание |
---|---|
Простая привязка данных | Возможность привязки элемента управления к одному элементу данных, например к значению в столбце таблицы набора данных. Это тип привязки характерен для элементов управления, таких как TextBox или Label, которые обычно отображают одно значение. По сути, любое свойство в элементе управления можно привязать к полю в базе данных. Имеется широкая поддержка этой возможности в Visual Studio. Дополнительные сведения: - Интерфейсы, относящиеся к привязке данных - Практическое руководство. Переход между данными в Windows Forms - Практическое руководство. Создание элемента управления простой привязкой в форме Windows |
Сложная привязка данных | Возможность привязки элемента управления к нескольким элементам данных, обычно к нескольким записям в базе данных. Сложная привязка также называется привязкой на основе списка. Примеры элементов управления, которые поддерживают сложную привязку, — DataGridView, ListBox и ComboBox. Пример сложной привязки данных, см. в разделе как: Привязка к данным Windows Forms ComboBox или ListBox-элемент управления. |
Компонент BindingSource
Чтобы упростить привязку данных, Windows Forms позволяет привязать источник данных к компоненту BindingSource, а затем привязать элементы управления к BindingSource. Компонент BindingSource можно использовать в сценариях простой или сложной привязки. В любом случае компонент BindingSource действует как посредник между источником данных и связанными элементами управления, предоставляющий возможности управления уведомлениями об изменениях и другие функции.
Типичные сценарии, в которых используется привязка данных
Практически каждое коммерческое приложение использует сведения, полученные из источников данных разных типов. Обычно это осуществляется через привязку данных. В следующем списке приведено несколько наиболее распространенных сценариев, в которых привязка данных используется в качестве метода представления данных и управления ими.
Сценарий | Описание |
---|---|
Отчеты | Отчеты — это гибкий инструмент отображения и сводного представления данных в печатном документе. Широко распространено создание отчетов, которые выводят выбранное содержимого источника данных на экран или на принтер. Традиционные формы отчетов — списки, счета и сводки. Элементы обычно представлены в виде столбцов списка, у каждой позиции списка существуют вложенные элементы, однако необходимо выбирать макеты, которые лучше всего подходят для организации данных. |
Запись данных | Распространенным способом ввода больших объемов связанных данных или отправки пользователям запросов на предоставление сведений является использование формы для ввода данных. Пользователи могут вводить сведения или выбирать варианты, используя текстовые поля, переключатели, флажки и раскрывающиеся списки. Затем данные отправляются на хранение в базу данных, структура которой основана на введенных данных. |
Отношение "Основной/подробности" | Приложение "Основной/подробности" — это еще один способ просмотра связанных данных. В частности, существует две таблицы данных со связывающими их отношением: в классическом деловом примере — это таблица "Клиенты" и таблица "Заказы" с отношением, связывающим клиентов с их соответствующими заказами. Дополнительные сведения о создании приложения "основной/подробности" с двумя формами Windows DataGridView элементов управления, см. в разделе как: Создание формы «основной/подробности» с помощью двух элементов управления DataGridView Windows Forms |
Таблица подстановки | Другим распространенным сценарием представления данных и работы с ними является использование таблицы подстановок. Являясь частью крупной структуры представления данных, элемент управления ComboBox применяется для отображения данных и управления ими. Смысл заключается в том, что данные, отображаемые в элементе управления ComboBox, отличаются от данных, которые записываются в базу данных. Например, если есть элемент управления ComboBox, отображающий позиции товара в продуктовом магазине, возможно, вы захотите увидеть названия товаров (хлеб, молоко, яйца). Однако чтобы упростить получение сведений из базы данных и нормализовать базу данных, вы, вероятно, сохраните данные по конкретным позициям для определенного заказа виде кодов (501, 603 и т. д.). Таким образом, между понятным именем товара из продуктового магазина в элементе управления ComboBox в форме и соответствующим кодом товара, указанным в заказе, присутствует неявная связь. В этом заключается сущность таблицы подстановок. Дополнительные сведения см. в разделе Как Создание таблицы подстановок с помощью компонента BindingSource в Windows Forms. |