Partager via


Comment : créer des tables de correspondance dans des applications WPF

Vous pouvez créer une table de correspondance en faisant glisser le nœud principal d'une table ou d'un objet parent dans la fenêtre Sources de données sur un contrôle qui est déjà lié à une colonne ou une propriété dans une table enfant connexe. La table de correspondance de terme (parfois appelée liaison de correspondance) décrit un contrôle qui affiche les informations d'une table de données en fonction de la valeur d'un champ de clé étrangère dans une autre table.

Prenons l'exemple d'une table Orders dans une base de données des ventes. Chaque enregistrement contenu dans la table Orders comprend un CustomerID qui indique le client ayant passé la commande. Ce CustomerID est une clé étrangère qui pointe vers un enregistrement de client dans la table Customers. Lorsque vous affichez une liste de commandes à partir de la table Orders, vous pouvez afficher le nom réel des clients plutôt que le CustomerID. Étant donné que le nom du client se trouve dans la table Customers, vous devez créer une table de correspondance pour afficher le nom. La table de correspondance utilise la valeur CustomerID dans l'enregistrement Orders pour naviguer jusqu'à la relation et retourner le nom de client convivial.

Pour créer une table de correspondance

  1. Ajoutez l'un des types suivants de sources de données avec les données connexes à votre projet :

    Notes

    Avant de pouvoir créer une table de correspondance, deux tables ou objets connexes doivent exister comme source de données pour le projet.

  2. Ouvrez le Concepteur WPF et assurez-vous qu'il inclut un conteneur étant une cible valide d'opération de déplacement pour les éléments de la fenêtre Sources de données.

    Pour plus d'informations sur les cibles de déplacement valides, consultez Liaison de contrôles WPF avec des données dans Visual Studio.

  3. Dans le menu Données, cliquez sur Afficher les sources de données pour ouvrir la fenêtre Sources de données.

  4. Développez les nœuds dans la fenêtre Sources de données jusqu'à la table ou l'objet parent et leur table ou objet enfant connexe.

    Notes

    La table ou l'objet enfant connexe est le nœud qui apparaît comme un nœud enfant développable sous la table ou l'objet parent.

  5. Cliquez sur le menu déroulant du nœud enfant et sélectionnez Détails.

  6. Développez le nœud enfant.

  7. Sous le nœud enfant, cliquez sur le menu déroulant de l'élément qui met en relation les données parentes et enfants (dans l'exemple ci-dessus, il s'agirait du nœud CustomerID). Sélectionnez l'un des types suivants de contrôles qui prennent en charge la liaison de correspondance :

  8. Faites glisser le nœud enfant de la fenêtre Sources de données sur un conteneur dans le Concepteur WPF (dans l'exemple ci-dessus, le nœud enfant serait Commandes ).

    Visual Studio génère du code XAML qui crée des contrôles liés aux données pour chaque élément que vous faites glisser. Le code XAML ajoute également une nouvelle CollectionViewSource pour la table ou l'objet enfant aux ressources de la cible de déplacement. Pour certaines sources de données, Visual Studio génère également du code permettant de charger des données dans la table ou l'objet enfant. Pour plus d'informations, consultez Liaison de contrôles WPF avec des données dans Visual Studio.

  9. Faites glisser le nœud parent de la fenêtre Sources de données sur le contrôle de liaison de correspondance créé précédemment (dans l'exemple ci-dessus, le nœud parent serait le nœud Clients).

    Visual Studio définit des propriétés sur le contrôle pour configurer la liaison de correspondance. Le tableau suivant répertorie les propriétés que Visual Studio modifie. Si nécessaire, vous pouvez modifier ces propriétés dans le code XAML ou dans la fenêtre Propriétés.

    Propriété

    Explication de la définition

    ItemsSource

    Cette propriété spécifie la collection ou la liaison utilisée pour obtenir les données affichées dans le contrôle. Visual Studio affecte à cette propriété la CollectionViewSource pour les données parentes que vous avez fait glisser sur le contrôle.

    DisplayMemberPath

    Cette propriété spécifie le chemin d'accès de l'élément de données affiché dans le contrôle. Visual Studio affecte à cette propriété la première colonne ou propriété des données parentes, après la clé primaire, possédant un type de données chaîne.

    Si vous souhaitez afficher une autre colonne ou propriété dans les données parentes, modifiez cette propriété en spécifiant le chemin d'accès d'une autre propriété.

    SelectedValue

    Visual Studio lie cette propriété à la colonne ou propriété des données enfant que vous avez fait glisser vers le concepteur. C'est la clé étrangère des données parentes.

    SelectedValuePath

    Visual Studio affecte à cette propriété le chemin d'accès de la colonne ou de la propriété des données enfants qui sont la clé étrangère des données parentes.

Voir aussi

Tâches

Comment : lier des contrôles WPF à des données dans Visual Studio

Comment : afficher des données connexes dans des applications WPF

Procédure pas à pas : affichage de données connexes dans une application WPF

Concepts

Liaison de contrôles WPF avec des données dans Visual Studio