Поделиться через


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

Обновлен: Ноябрь 2007

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

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

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

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

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

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

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

В этом пошаговом руководстве создается элемент управления с подстановкой, привязанный к данным из двух таблиц. В этом пошаговом руководстве используются таблицы Customers и Orders из демонстрационной базы данных "Борей". Элемент управления просмотра будет привязан к полю CustomerID таблицы Orders. Это значение будет использоваться для поиска (подстановки) CompanyName из таблицы Customers.

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

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

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

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

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

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

  • Установите столбец CustomerID таблицы Orders в окне Источники данных для использования в нового элемента управления.

  • Создайте форму для отображения данных в новом элементе управления.

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

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

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

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

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

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

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

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

    Проект LookupControlWalkthrough будет создан и добавлен в Обозреватель решений.

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

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

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

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

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

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

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

Для разработки элемента управления LookupBox:

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

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

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

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

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

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

    <System.ComponentModel.LookupBindingProperties("DataSource", "DisplayMember", "ValueMember", "LookupMember")> _
    Public Class LookupBox
    
        Public Property DataSource() As Object
            Get
                Return ComboBox1.DataSource
            End Get
            Set(ByVal value As Object)
                ComboBox1.DataSource = value
            End Set
        End Property
    
        Public Property DisplayMember() As String
            Get
                Return ComboBox1.DisplayMember
            End Get
            Set(ByVal value As String)
                ComboBox1.DisplayMember = value
            End Set
        End Property
    
        Public Property ValueMember() As String
            Get
                Return ComboBox1.ValueMember
            End Get
            Set(ByVal value As String)
                ComboBox1.ValueMember = value
            End Set
        End Property
    
        Public Property LookupMember() As String
            Get
                Return ComboBox1.SelectedValue.ToString()
            End Get
            Set(ByVal value As String)
                ComboBox1.SelectedValue = value
            End Set
        End Property
    End Class
    
    using System.Windows.Forms;
    
    namespace CS
    {
        [System.ComponentModel.LookupBindingProperties("DataSource", "DisplayMember", "ValueMember", "LookupMember")]
        public partial class LookupBox : UserControl
        {
            public object DataSource
            {
                get{ return comboBox1.DataSource; }
                set{ comboBox1.DataSource = value; }
            }
    
            public string DisplayMember
            {
                get{ return comboBox1.DisplayMember; }
                set{ comboBox1.DisplayMember = value; }
            }
    
            public string ValueMember
            {
                get{ return comboBox1.ValueMember; }
                set{ comboBox1.ValueMember = value; }
            }
    
            public string LookupMember
            {
                get{ return comboBox1.SelectedValue.ToString(); }
                set{ comboBox1.SelectedValue = value; }
            }
    
    
            public LookupBox()
            {
                InitializeComponent();
            }
        }
    }
    
  3. В меню Построение выберите пункт Построить решение.

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

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

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

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

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

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

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

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

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

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

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

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

Задание столбца CustomerID таблицы Orders для использования элемента управления LookupBox

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

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

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

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

  3. Разверните узел Orders (в узле Customers ниже столбца Fax).

  4. Щелкните стрелку раскрывающегося списка на узле Orders и выберите из списка Cведения.

  5. Щелкните стрелку раскрывающегося списка столбца CustomerID (в узле Orders) и выберите Настройка.

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

  7. Нажмите кнопку ОК.

  8. Щелкните стрелку раскрывающегося списка столбца CustomerID и выберите LookupBox.

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

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

Для создания элементов управления с привязкой к данным в формах Windows Forms:

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

Привязка элемента управления для подстановки CompanyName из таблицы клиентов

Для настройки привязки подстановки:

  • Выберите основной узел Customers в окне Источники данных и перетащите его в поле со списком в CustomerIDLookupBox на Form1.

    Это устанавливает связывание для отображения CompanyName из таблицы Customers, сохраняя значение CustomerID из таблицы Orders. Дополнительные сведения см. в разделе Практическое руководство. Создание таблиц подстановок.

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

Чтобы выполнить приложение:

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

  • Переместитесь по нескольким записям и убедитесь, что CompanyName отображается в элементе управления LookupBox.

См. также

Задачи

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

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

Новые возможности данных

Общие сведения об отображении данных

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

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

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

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

Отображение данных на форме в приложениях Windows

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

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

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