Создание таблиц подстановки в приложениях WPF платформа .NET Framework
Примечание.
Наборы данных и связанные классы являются устаревшими технологиями платформа .NET Framework с начала 2000-х годов, которые позволяют приложениям работать с данными в памяти во время отключения приложений от базы данных. Технологии особенно полезны для приложений, которые позволяют пользователям изменять данные и сохранять изменения обратно в базу данных. Хотя наборы данных оказались очень успешными, мы рекомендуем новым приложениям .NET использовать Entity Framework Core. Entity Framework предоставляет более естественный способ работы с табличными данными в виде объектных моделей, и он имеет более простой интерфейс программирования.
Таблица подстановки терминов (иногда называемая привязкой подстановки) описывает элемент управления, отображающий сведения из одной таблицы данных на основе значения поля внешнего ключа в другой таблице. Вы можете создать таблицу подстановки, перетащив главный узел родительской таблицы или объекта в окне источников данных в элемент управления, который уже привязан к столбцу или свойству в связанной дочерней таблице.
Например, рассмотрим таблицу Orders
в базе данных продаж. Каждая запись в Orders
таблице включает в себя, CustomerID
указывающую, какой клиент разместил заказ. Это CustomerID
внешний ключ, указывающий на запись клиента в Customers
таблице. При отображении списка заказов из Orders
таблицы может потребоваться отобразить фактическое имя клиента вместо имени CustomerID
пользователя. Так как имя клиента находится в Customers
таблице, необходимо создать таблицу подстановки для отображения имени клиента. В таблице подстановки используется CustomerID
значение в Orders
записи для перехода к связи и возврата имени клиента.
Создание таблицы подстановок
Добавьте один из следующих типов источников данных со связанными данными в проект:
Набор данных или модель данных сущности.
Служба данных WCF, служба WCF или веб-служба. Дополнительные сведения см. в разделе "Практическое руководство. Подключение к данным в службе".
Объекты. Дополнительные сведения см. в разделе "Привязка к объектам в Visual Studio".
Примечание.
Прежде чем создать таблицу подстановки, две связанные таблицы или объекты должны существовать в качестве источника данных для проекта.
Откройте конструктор WPF и убедитесь, что конструктор содержит контейнер, который является допустимым целевым объектом удаления для элементов в окне источников данных.
Дополнительные сведения о допустимых целевых объектах удаления см. в разделе Привязка элементов управления WPF к данным в Visual Studio.
Чтобы открыть окно Источники данных, щелкните пункт Показать источники данных в меню Данные.
Разверните узлы в окне источников данных, пока не увидите родительскую таблицу или объект, а также связанную дочернюю таблицу или объект.
Примечание.
Связанная дочерняя таблица или объект — это узел, который отображается как расширяемый дочерний узел в родительской таблице или объекте.
Щелкните раскрывающееся меню дочернего узла и выберите "Сведения".
Разверните дочерний узел.
В дочернем узле щелкните раскрывающееся меню для элемента, связанного с дочерними и родительскими данными. (В предыдущем примере это Узел CustomerID .) Выберите один из следующих типов элементов управления, поддерживающих привязку подстановки:
ComboBox
ListBox
ListView
Примечание.
Если элемент управления ListBox или ListView не отображается в списке, можно добавить эти элементы управления в список. Сведения см. в разделе "Настройка элемента управления для создания при перетаскивании из окна источников данных".
Любой пользовательский элемент управления, производный от Selector.
Примечание.
Сведения о добавлении настраиваемых элементов управления в список элементов управления, которые можно выбрать в окне "Источники данных", см. в разделе "Добавление настраиваемых элементов управления" в окно "Источники данных".
Перетащите дочерний узел из окна источников данных в контейнер в конструкторе WPF. (В предыдущем примере дочерний узел — это дочерний узел. Узел orders .)
Visual Studio создает XAML, который создает новые элементы управления, привязанные к данным, для каждого из перетаскиваемых элементов. XAML также добавляет новый CollectionViewSource объект для дочерней таблицы или объекта в ресурсы целевого объекта удаления. Для некоторых источников данных Visual Studio также создает код для загрузки данных в таблицу или объект. Дополнительные сведения см. в разделе "Привязка элементов управления WPF к данным в Visual Studio".
Перетащите родительский узел из окна источников данных в элемент управления привязки подстановки, созданный ранее. (В предыдущем примере родительский узел — это родительский узел. Узел клиентов ).
Visual Studio задает некоторые свойства элемента управления для настройки привязки подстановки. В следующей таблице перечислены свойства, которые изменяет Visual Studio. При необходимости эти свойства можно изменить в XAML или в окне "Свойства ".
Свойство Пояснение к параметру ItemsSource Это свойство указывает коллекцию или привязку, которая используется для получения данных, отображаемых в элементе управления. Visual Studio задает это свойство CollectionViewSource для родительских данных, которые вы перетаскивали в элемент управления. DisplayMemberPath Это свойство указывает путь элемента данных, отображаемого в элементе управления. Visual Studio задает этому свойству первый столбец или свойство в родительских данных после первичного ключа, имеющего строковый тип данных.
Если вы хотите отобразить другой столбец или свойство в родительских данных, измените это свойство на путь другого свойства.SelectedValue Visual Studio привязывает это свойство к столбцу или свойству дочерних данных, перетаскиваемых в конструктор. Это внешний ключ для родительских данных. SelectedValuePath Visual Studio задает этому свойству путь к столбцу или свойству дочерних данных, которые являются внешним ключом для родительских данных.