Пошаговое руководство. Создание пользовательского элемента управления Windows Forms со сложной привязкой данных

При отображении данных на формах в приложениях Windows можно выбирать существующие элементы управления из Панели элементов или создавать собственные элементы управления, если приложение требует функциональных возможностей, недоступных в стандартных элементах управления.В данном пошаговом руководстве показано, как создать элемент управления, который реализует ComplexBindingPropertiesAttribute.Элементы управления, которые реализуют ComplexBindingPropertiesAttribute, содержат свойства DataSource и DataMember, которые могут быть связаны с данными.Такие элементы управления похожи на DataGridView или ListBox.

Дополнительные сведения по разработке элементов управления содержатся в разделе Создание элементов управления Windows Forms во время разработки.

При разработке элементов управления для использования в сценариях привязки данных необходимо реализовать один из следующих атрибутов привязки:

Использование атрибута привязки данных

Реализуйте DefaultBindingPropertyAttribute на простых элементах управления, таких как TextBox, отображающих один столбец (или свойство) данных.Дополнительные сведения см. в разделе Пошаговое руководство. Создание пользовательского элемента управления Windows Forms с простой привязкой данных.

Реализуйте ComplexBindingPropertiesAttribute на элементах управления, таких как DataGridView, отображающих списки (таблицы) данных.(Этот процесс описан на данной странице пошагового руководства).

Реализуйте LookupBindingPropertiesAttribute на элементах управления, таких как ComboBox, отображающих списки (или таблицы) данных, но также требующих представить один столбец или свойство.Дополнительные сведения см. в разделе Пошаговое руководство. Создание пользовательского элемента управления Windows Forms с подстановочной привязкой данных.

В данном пошаговом руководстве создается сложный элемент управления, отображающий строки данных из таблицы.В этом пошаговом руководстве используется таблица Customers из учебной базы данных "Борей".Сложный пользовательский элемент управления отобразит таблицу клиентов в DataGridView в пользовательском элементе управления.

В процессе выполнения этого пошагового руководства вы научитесь:

  • Создайте новое приложение Windows.

  • Добавлять новый Пользовательский элемент управления в проект.

  • Разрабатывать визуальное представление пользовательского элемента управления.

  • Реализовывать атрибут ComplexBindingProperty.

  • Создавать набор данных с помощью мастер настройки источника данных.

  • Задайте таблицу Customers в окне Окно "Источники данных" с помощью нового сложного элемента управления.

  • Добавьте новый элемент управления, перетащив его из окна Источники данных на форму Form1.

Обязательные компоненты

Для выполнения этого пошагового руководства потребуется следующее.

Создание приложения Windows

Первым шагом является создание Приложения Windows.

Чтобы создать новый проект Windows

  1. В Visual Studio из меню Файл создайте новый Проект.

  2. Назовите проект ComplexControlWalkthrough.

  3. Выберите Приложение Windows и нажмите кнопку OK.Дополнительные сведения см. в разделе Разработка клиентских приложений.

    Создается проект ComplexControlWalkthrough и добавляется в Обозреватель решений.

Добавление пользовательского элемента управления в проект

Поскольку в этом пошаговом руководстве создается сложный элемента управления с привязкой к данным из Пользовательского элемента управления, необходимо добавить элемент Пользовательский элемент управления к проекту.

Для добавления пользовательского элемента управления в проект:

  1. В меню Проект выберите Добавить пользовательский элемент управления.

  2. Введите ComplexDataGridView в область Имя и нажмите кнопку Добавить.

    Элемент управления ComplexDataGridView добавится в Обозреватель решений и откроется в конструкторе.

Разработка элемента управления ComplexDataGridView

На этом шаге к пользовательскому элементу управления добавляется DataGridView.

Разработка элемента управления ComplexDataGridView

  • Перетащите DataGridView из Панели элементов на поверхность разработки пользовательского элемента управления.

Добавление обязательного атрибута привязки данных

Для сложных элементов управления, поддерживающих привязку данных, можно реализовать ComplexBindingPropertiesAttribute.

Чтобы реализовать атрибут ComplexBindingProperties:

  1. Переключите элемент управления ComplexDataGridView в режим просмотра кода.(В меню Вид выберите команду Код.)

  2. Замените код в ComplexDataGridView следующим кодом:

    <System.ComponentModel.ComplexBindingProperties("DataSource", "DataMember")>
    Public Class ComplexDataGridView
    
        Public Property DataSource() As Object
            Get
                Return DataGridView1.DataSource
            End Get
            Set(ByVal value As Object)
                DataGridView1.DataSource = value
            End Set
        End Property
    
        Public Property DataMember() As String
            Get
                Return DataGridView1.DataMember
            End Get
            Set(ByVal value As String)
                DataGridView1.DataMember = value
            End Set
        End Property
    End Class
    
    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();
            }
        }
    }
    
  3. В меню Построение выберите пункт Построить решение.

Создание источника данных из вашей базы данных

На этом шаге с помощью Мастера настройки источника данных создается источник данных на основе таблицы Customers в учебной базе данных Northwind.Для создания подключения необходимо иметь доступ к демонстрационной базе данных Northwind.Сведения о настройке учебной базы данных Northwind см. в разделе Практическое руководство. Установка образцов баз данных.

Для создания источника данных:

  1. В меню Данные выберите пункт Показать источники данных.

  2. Чтобы запустить Мастер настройки источника данных, выберите элемент Добавить новый источник данных в окне Источники данных.

  3. На странице Выбор типа источника данных выберите элемент База данных и нажмите Далее.

  4. На странице Выбор подключения базы данных выполните одно из следующих действий:

  5. Если базе данных требуется пароль, выберите параметр для включения конфиденциальных данных и щелкните Далее.

  6. Щелкните Далее на странице Сохранение подключения в файле конфигурации приложения.

  7. Разверните узел Таблицы на странице Выбор объектов базы данных.

  8. Выберите таблицу Customers и нажмите кнопку Готово.

    NorthwindDataSet добавляется к проекту, и таблица Customers отображается в окне Источники данных.

Настройка таблицы Customers, чтобы она использовала элемент управления ComplexDataGridView

В окне Источники данных можно задать элемент управления, создаваемый до перетаскивания элементов на форму.

Чтобы задать привязку таблицы Customers к элементу управления ComplexDataGridView:

  1. Откройте форму Form1 в конструкторе.

  2. Разверните узел Customers в окне Источники данных.

  3. Щелкните стрелку раскрывающегося списка на узле Customers и выберите Настройка.

  4. Выберите ComplexDataGridView из списка Связанные элементы управления в диалоговом окне Параметры настройки пользовательского интерфейса данных.

  5. Щелкните стрелку раскрывающегося списка в таблице Customers и выберите из списка управления ComplexDataGridView.

Добавление элементов управления в форму

Вы можете создавать элементы управления с привязкой к данным, перетаскивая элементы из окна Источники данных на форму.

Чтобы создать элементы управления с привязкой к данным на форме:

  • Перетащите основной узел Customers из окна Источники данных на форму и убедитесь, что элемент управления ComplexDataGridView будет использоваться для отображения таблицы данных.

Запуск приложения

Запуск приложения

  • Нажмите клавишу F5 для запуска приложения.

Следующие действия

В зависимости от требований приложения имеются несколько шагов, которые, возможно, потребуется выполнить после создания элемента управления с привязкой к данным.Типичные последующие шаги могут включать:

См. также

Задачи

Практическое руководство. Установка элемента управления, создаваемого при перетаскивании из окна "Источники данных"

Основные понятия

Привязка элементов управления Windows Forms к данным в Visual Studio

Подготовка приложения к получению данных

Выборка данных в приложение

Привязка элементов управления к данным в Visual Studio

Редактирование данных в приложении

Проверка данных

Сохранение данных

Другие ресурсы

Элементы управления Windows Forms

Подключение к данным в Visual Studio