Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Замечание
Классы DataSet и связанные классы являются устаревшими технологиями .NET Framework с начала 2000-х годов, которые позволяют приложениям работать с данными в памяти, пока приложения отключены от базы данных. Технологии особенно полезны для приложений, которые позволяют пользователям изменять данные и сохранять изменения обратно в базу данных. Хотя наборы данных являются проверенными успешными технологиями, рекомендуемый подход для новых приложений .NET заключается в использовании Entity Framework Core. Entity Framework предоставляет более естественный способ работы с табличными данными в виде объектных моделей и имеет более простой интерфейс программирования.
При отображении данных в формах в приложениях Windows можно выбрать существующие элементы управления на панели элементов. Кроме того, можно создавать пользовательские элементы управления, если приложению требуется функциональность, которая недоступна в стандартных элементах управления. В этом руководстве показано, как создать элемент управления, реализующий ComplexBindingPropertiesAttribute. Элементы управления, реализующие ComplexBindingPropertiesAttribute, содержащие свойства DataSource и DataMember, которые могут быть привязаны к данным. Такие элементы управления похожи на DataGridView или ListBox.
Дополнительные сведения о разработке элементов управления см. в статье "Разработка элементов управления Windows Forms во время разработки".
При создании элементов управления для использования в сценариях привязки данных необходимо реализовать один из следующих атрибутов привязки данных:
| Использование атрибута привязки данных |
|---|
| Реализуйте DefaultBindingPropertyAttribute на простых элементах управления, таких как TextBox, которые отображают один столбец (или свойство) данных. Дополнительные сведения см. в статье "Создание пользовательского элемента управления Windows Forms" с поддержкой простой привязки данных. |
| Реализуйте ComplexBindingPropertiesAttribute на таких элементах управления, как DataGridView, которые отображают списки или таблицы данных. (Этот процесс описан на этой странице пошагового руководства.) |
| Реализуйте LookupBindingPropertiesAttribute на элементах управления, таких как ComboBox, которые отображают списки (или таблицы) данных, но также должны представлять отдельный столбец или свойство. Дополнительные сведения см. в статье Создание пользовательского элемента управления Windows Forms, поддерживающего привязку данных подстановки. |
В этом пошаговом руководстве создается сложный элемент управления, отображающий строки данных из таблицы. В этом примере используется Customers таблица из примера базы данных Northwind. Сложный пользовательский элемент управления отобразит таблицу клиентов в пользовательском элементе управления DataGridView.
В этом пошаговом руководстве вы узнаете, как:
Добавьте новый элемент управления пользователем в проект.
Визуально проектируйте пользовательский элемент управления.
ComplexBindingPropertyРеализуйте атрибут.Создайте набор данных с помощью мастера настройки источника данных.
Задайте таблицу Customers в окне источников данных , чтобы использовать новый сложный элемент управления.
Добавьте новый элемент управления, перетащив его из окна источников данных в Form1.
Предпосылки
Чтобы пройти это руководство, вам потребуются рабочие компоненты для разработки приложений для настольных ПК на .NET и хранения и обработки данных, установленные в Visual Studio. Чтобы установить их, откройте Установщик Visual Studio и выберите Изменить (или Дополнительно>Изменить) рядом с версией Visual Studio, которую вы хотите изменить. См. изменения в Visual Studio.
В этом пошаговом руководстве используется SQL Server Express LocalDB и пример базы данных Northwind.
Если у вас нет SQL Server Express LocalDB, установите его на странице скачивания SQL Server Express или с помощью Установщика Visual Studio. В установщике Visual Studioможно установить SQL Server Express LocalDB в рамках рабочей нагрузки хранилища данных и обработки или как отдельный компонент.
Установите пример базы данных Northwind, выполнив следующие действия.
В Visual Studio откройте окно обозревателя объектов SQL Server. (Обозреватель объектов SQL Server устанавливается как часть рабочей нагрузки хранилища данных и обработки в Visual Studio Installer.) Разверните узел SQL Server. Щелкните правой кнопкой мыши экземпляр LocalDB и выберите Новый запрос.
Откроется окно редактора запросов.
Скопируйте скрипт Northwind Transact-SQL в буфер обмена. Этот скрипт T-SQL создает базу данных Northwind с нуля и заполняет ее данными.
Вставьте скрипт T-SQL в редактор запросов, а затем нажмите кнопку Выполнить.
Через некоторое время запрос завершает работу и создается база данных Northwind.
Создание проекта приложения Windows Forms
Первым шагом является создание проекта приложения Windows Forms для C# или Visual Basic. Назовите проект ComplexControlWalkthrough.
Добавление пользовательского элемента управления в проект
Так как в этом пошаговом руководстве создается сложный элемент управления с привязкой к данным из пользовательского элемента управления, добавьте в проект элемент user Control :
В меню "Проект" выберите "Добавить элемент управления пользователем".
Введите ComplexDataGridView в области "Имя ", а затем нажмите кнопку "Добавить".
Элемент управления ComplexDataGridView добавляется в обозреватель решений и открывается в конструкторе.
Проектирование элемента управления ComplexDataGridView
Чтобы добавить DataGridView пользовательский элемент управления, перетащите элемент DataGridView из панели инструментов на область конструктора пользовательского элемента управления.
Добавление необходимого атрибута привязки данных
Для сложных элементов управления, поддерживающих привязку данных, можно реализовать следующее ComplexBindingPropertiesAttribute:
Переключите элемент управления ComplexDataGridView на представление кода. (В меню "Вид " выберите "Код".)
Замените код в
ComplexDataGridViewна следующий:using System.Windows.Forms; namespace CS { [System.ComponentModel.ComplexBindingProperties("DataSource", "DataMember")] public partial class ComplexDataGridView : UserControl { public object DataSource { get{ return dataGridView1.DataSource; } set{ dataGridView1.DataSource = value; } } public string DataMember { get{ return dataGridView1.DataMember; } set{ dataGridView1.DataMember = value; } } public ComplexDataGridView() { InitializeComponent(); } } }В меню "Сборка" выберите " Создать решение".
Создание источника данных из базы данных
Используйте мастер настройки источника данных для создания источника данных на Customers основе таблицы в примере базы данных Northwind:
Чтобы открыть окно "Источники данных" , в меню "Данные " щелкните "Показать источники данных".
В окне "Источники данных" выберите "Добавить новый источник данных ", чтобы запустить мастер настройки источника данных .
Выберите базы данных на странице Выбор типа источника данных, а затем выберите Далее.
На странице выбора подключения к данным выполните одно из следующих действий:
Если в раскрывающемся списке доступно подключение к образцу базы данных Northwind, выберите его.
Нажмите кнопку "Создать подключение", чтобы запустить диалоговое окно "Добавить или изменить подключение ".
Если для базы данных требуется пароль, выберите параметр для включения конфиденциальных данных и нажмите кнопку "Далее".
На странице "Сохранить строку подключения в файл конфигурации приложения", нажмите кнопку "Далее".
На странице "Выбор объектов базы данных " разверните узел "Таблицы ".
Выберите таблицу
Customersи нажмите кнопку "Готово".NorthwindDataSet добавляется в проект, а
Customersтаблица появится в окне источников данных.
Настройка таблицы Customers для использования элемента управления ComplexDataGridView
В окне источников данных можно задать элемент управления перед перетаскиванием элементов в форму:
Откройте Form1 в дизайнере.
Разверните узел "Клиенты" в окне "Источники данных ".
Щелкните стрелку раскрывающегося списка на узле "Клиенты" и выберите "Настроить".
Выберите ComplexDataGridView из списка связанных элементов управления в диалоговом окне "Параметры настройки пользовательского интерфейса данных ".
Щелкните стрелку раскрывающегося списка в
Customersтаблице и выберите ComplexDataGridView из списка элементов управления.
Добавление элементов управления на форму
Элементы управления с привязкой к данным можно создать, перетащив элементы из окна источников данных в форму. Перетащите основной узел Customers из окна источников данных в форму. Убедитесь, что элемент управления ComplexDataGridView используется для отображения данных таблицы.
Запуск приложения
Нажмите клавишу F5, чтобы запустить приложение.
Дальнейшие шаги
В зависимости от требований приложения может потребоваться выполнить несколько шагов после создания элемента управления, поддерживающего привязку данных. Ниже приведены некоторые типичные действия.
Размещение пользовательских элементов управления в библиотеке элементов управления, чтобы их можно было повторно использовать в других приложениях.
Создание элементов управления, поддерживающих сценарии подстановки. Дополнительные сведения см. в статье Создание пользовательского элемента управления Windows Forms, поддерживающего привязку данных подстановки.