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