Procédure pas à pas : création d'une table de correspondance dans une application Windows Forms
Une table de correspondance est utilisée pour afficher les informations d'une table en fonction de la valeur d'un champ de clé étrangère d'une autre table. Prenez l'exemple d'une table de commandes dans une base de données commerciale. Chaque enregistrement de la table Orders inclut un CustomerID indiquant le client qui a passé la commande. Le CustomerID est une clé étrangère pointant vers un enregistrement client de la table Customers. Quand vous présentez une liste de commandes (de la table Orders), vous souhaitez afficher le nom des clients réels et non le CustomerID. Dans la mesure où le nom des clients figure dans la table Customers et que vous présentez des données de la table Orders, vous devez créer une table de correspondance, qui utilise la valeur CustomerID de l'enregistrement Orders pour explorer la relation et retourne le nom du client, plus lisible. Ce concept est une table de correspondance.
Cette procédure pas à pas décrit notamment les tâches suivantes :
Création d'un projet d'application Windows.
Création et configuration d'un dataset à l'aide de l'Configuration de source de données (Assistant).
Sélection du contrôle à créer dans le formulaire pendant le déplacement d'éléments depuis la fenêtre Sources de données. Pour plus d'informations, consultez Comment : définir le contrôle à créer lors d'une opération de glisser-déplacer à partir de la fenêtre Sources de données.
Création de contrôles liés aux données en faisant glisser des éléments depuis la fenêtre Sources de données vers votre formulaire.
Configuration d'une table de correspondance en déplaçant une table associée vers un contrôle lié via une relation de clé étrangère.
Composants requis
Pour exécuter cette procédure pas à pas, vous avez besoin des éléments suivants :
- avoir accès à l'exemple de base de données Northwind. Pour plus d'informations, consultez Comment : installer des exemples de bases de données.
Création d'une application Windows
Pour créer le projet d'application Windows
Dans le menu Fichier, créez un nouveau projet.
Attribuez le nom LookupTableWalkthrough au projet.
Sélectionnez Application Windows et cliquez sur OK. Pour plus d'informations, consultez Développement d'applications clientes avec .NET Framework.
Le projet LookupTableWalkthrough est créé et ajouté à l'Explorateur de solutions.
Création d'une source de données
Pour créer la source de données
Dans le menu Données, cliquez sur Afficher les sources de données.
Dans la fenêtre Sources de données, sélectionnez Ajouter une nouvelle source de données pour démarrer l'Assistant Configuration de source de données.
Sélectionnez Base de données dans la page Choisir un type de source de données, puis cliquez sur Suivant.
Dans la page Choisir votre connexion de données, effectuez l'une des opérations suivantes :
Si une connexion de données à l'exemple de base de données Northwind est disponible dans la liste déroulante, sélectionnez-la.
ou
Sélectionnez Nouvelle connexion pour afficher la boîte de dialogue Ajouter/Modifier la connexion.
Si votre base de données requiert un mot de passe, sélectionnez l'option pour inclure les données sensibles, puis cliquez sur Suivant.
Cliquez sur Suivant dans la page Enregistrer la chaîne de connexion dans le fichier de configuration de l'application.
Développez le nœud Tables dans la page Choisir vos objets de base de données.
Sélectionnez les tables Customers et Orders, puis cliquez sur Terminer.
NorthwindDataSet est ajouté à votre projet et les deux tables apparaissent dans la fenêtre Sources de données.
Création des contrôles liés aux données dans le formulaire
Pour créer des contrôlés liés aux données dans le formulaire
Développez le nœud Customers dans la fenêtre Sources de données.
Remplacez le type de déplacement de la table Orders associée par Détails en sélectionnant Détails dans la liste de contrôles du nœud Orders.O Pour plus d'informations, consultez Comment : définir le contrôle à créer lors d'une opération de glisser-déplacer à partir de la fenêtre Sources de données.
Développez le nœud Orders et remplacez le type de déplacement de la colonne CustomerID par une zone de liste déroulante en sélectionnant ComboBox dans la liste de contrôles du nœud CustomerID.
Faites glisser le nœud Orders associé depuis la fenêtre Sources de données vers Form1.
Les contrôles liés aux données assortis d'étiquettes descriptives apparaissent dans le formulaire, ainsi qu'une barre d'outils (BindingNavigator) pour parcourir les enregistrements. NorthwindDataSet, CustomersTableAdapter, BindingSource et BindingNavigator s'affichent dans la barre d'état des composants.
Création de la table de correspondance
Vous établissez la table de correspondance en définissant les propriétés de la liste de zone déroulante CustomerID.
Pour créer la fonctionnalité de table de correspondance dans le formulaire
Faites glisser le nœud Customers principal depuis la fenêtre Sources de données directement dans la zone de liste déroulante CustomerID de Form1.
Notes
La table qui suit sert de référence uniquement. Les propriétés sont automatiquement définies pendant l'action de glissement décrite dans la procédure précédente.Le concepteur définit les propriétés suivantes comme décrit dans la section « Explication du paramètre » ci-dessous.En fonction des structures de votre table, vous devez peut-être régler les propriétés de la table de correspondance pour qu'elle fonctionne correctement.
Propriété
Explication du paramètre
DataSource
Visual Studio définit cette propriété sur le BindingSource créé pour la table que vous avez fait glisser vers le contrôle (et non sur le BindingSource créé en même temps que le contrôle).
Si vous devez faire des réglages, définissez cette propriété sur le BindingSource de la table avec la colonne à afficher. (CustomersBindingSource pour cette procédure pas à pas).
DisplayMember
Visual Studio définit cette propriété sur la première colonne après la clé principale contenant un type de données de chaîne pour la table que vous avez fait glisser vers le contrôle.
Si vous devez faire des réglages, définissez cette propriété sur le nom de la colonne à afficher.
ValueMember
Visual Studio définit cette propriété sur la première colonne participant à la clé principale, ou la première colonne de la table si aucune clé n'est définie.
Si vous devez faire des réglages, définissez cette propriété sur la clé principale de la table avec la colonne à afficher.
SelectedValue
Visual Studio définit cette propriété sur la colonne d'origine déplacée depuis la fenêtre Sources de données.
Si vous devez faire des réglages, définissez cette propriété sur la colonne de clé étrangère de la table associée. (CustomerID dans la table Orders pour cette procédure pas à pas.)
Exécution de l'application
Pour exécuter l'application
Appuyez sur F5.
Parcourez les commandes et assurez-vous que la zone de liste déroulante CustomerID affiche le CompanyName pour chaque commande de la table Customers (et non la colonne CustomerID de la table Orders).
Étapes suivantes
Selon les spécifications de votre application, vous pouvez exécuter différentes étapes après la création d'un formulaire lié aux données. Vous pouvez apporter à cette procédure pas à pas les améliorations suivantes :
Ajout d'une fonctionnalité de recherche au formulaire. Pour plus d'informations, consultez Comment : ajouter une requête paramétrable à une application Windows Forms.
Ajout d'une fonctionnalité pour renvoyer des mises à jour à la base de données. Pour plus d'informations, consultez Procédure pas à pas : enregistrement de données dans une base de données (table unique).
Ajout de la table Orders au dataset en sélectionnant Configurer le DataSet à l'aide de l'Assistant dans la fenêtre Sources de données. Ensuite, vous pouvez ajouter des contrôles affichant les données associées en faisant glisser le nœud Orders associé (celui qui se trouve sous la colonne Fax dans la table Customers) vers le formulaire. Pour plus d'informations, consultez Comment : afficher des données connexes dans une application Windows Forms.
Voir aussi
Concepts
Liaison de contrôles Windows Forms à des données dans Visual Studio
Vue d'ensemble des sources de données
Vue d'ensemble de TableAdapter
Préparation de votre application pour recevoir des données
Extraction de données dans votre application
Liaison de contrôles à des données dans Visual Studio
Modification des données dans votre application