Partager via


Procédure pas à pas : affichage de données liées sur un Windows Form

 

Publication: juillet 2016

Dans de nombreux scénarios d'application, vous voulez utiliser des données provenant de plusieurs tables et, souvent, des données provenant des tables associées. En d'autres termes, vous voulez utiliser une relation parent-enfant. Par exemple, vous voulez créer un formulaire qui affiche les commandes d'un client quand vous sélectionnez l'enregistrement de ce client spécifique. Vous affichez les enregistrements associés dans le formulaire en définissant la propriété DataSource du BindingSource enfant sur le BindingSource parent (et non la table enfant), et en définissant la propriété DataMember du BindingSource enfant sur la relation de données qui relie les tables parent et enfant.

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 dans votre application basé sur les tables Customers et Orders de la base de données Northwind à l'aide de l'Configuration de source de données (Assistant).

  • Ajout de contrôles pour afficher des données de la table Customers.

  • Ajout de contrôles pour afficher les Orders en fonction du Customer sélectionné.

  • Test de l'application en sélectionnant différents clients et en vérifiant que les commandes appropriées sont affichées pour le client sélectionné.

Composants requis

Pour exécuter cette procédure pas à pas, vous avez besoin des éléments suivants :

Création du projet

La première étape consiste à créer une application Windows.

Pour créer le projet d'application Windows

  1. Dans le menu Fichier, créez un nouveau projet.

  2. Attribuez le nom RelatedDataWalkthrough au projet.

  3. Sélectionnez Application Windows et cliquez sur OK. Pour plus d'informations, consultez Développement d'applications clientes avec .NET Framework.

    Le projet RelatedDataWalkthrough est créé et ajouté à l'Explorateur de solutions.

Création de la source de données

Cette étape crée un dataset basé sur les tables Customers et Orders de l'exemple de base de données Northwind.

Pour créer la source de données

  1. Dans le menu Données, cliquez sur Afficher les sources de données.

  2. 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.

  3. Sélectionnez Base de données dans la page Choisir un type de source de données, puis cliquez sur Suivant.

  4. 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.

  5. 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.

  6. Cliquez sur Suivant dans la page Enregistrer la chaîne de connexion dans le fichier de configuration de l'application.

  7. Développez le nœud Tables dans la page Choisir vos objets de base de données.

  8. Sélectionnez les tables Customers et Orders, puis cliquez sur Terminer.

    NorthwindDataSet est ajouté à votre projet et la table Customers apparaît dans la fenêtre Sources de données.

Création de contrôles permettant d'afficher des données de la table Customers

Pour créer des contrôles afin d'afficher les données des clients (enregistrements parents)

  1. Dans la fenêtre Sources de données, sélectionnez la table Customers, puis cliquez sur la flèche de déroulement.

  2. Choisissez Détails dans le menu.

  3. Faites glisser le nœud Customers principal depuis la fenêtre Sources de données vers le haut de 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 contrôles permettant d'afficher des données de la table Orders

Fenêtre Sources de données montrant des relations

Pour créer des contrôles afin d'afficher les commandes de chaque client (enregistrements enfants)

  • Dans la fenêtre Sources de données, développez le nœud Customers et sélectionnez la dernière colonne de la table Customers, qui est un nœud Orders pouvant être développé, et faites-la glisser vers le bas de Form1.

    Un DataGridView est ajouté au formulaire et un nouveau BindingSource (OrdersBindingSource) ainsi qu'un nouveau TableAdapter (OrdersTableAdapter) sont ajoutés à la barre d'état des composants.

    Notes

    Ouvrez la Fenêtre Propriétés et sélectionnez OrdersBindingSource.Examinez les propriétés DataSource et DataMember pour observer la manière dont la liaison de données est configurée pour afficher les enregistrements associés.Le DataSource est défini sur leCustomersBindingSource (le BindingSource de la table parente), et non sur la table Orders.La propriété DataMember est définie sur FK_Orders_Customers, qui est le nom de l'objet DataRelation reliant les tables.

Test de l'application

Pour tester l'application

  1. Appuyez sur F5 pour exécuter l'application.

  2. Sélectionnez différents clients à l'aide du CustomersBindingNavigator pour vérifier que les commandes appropriées sont affichées dans le DataGridView.

Étapes suivantes

Selon les spécifications de votre application, vous pouvez exécuter différentes étapes après la création d'un formulaire maître/détail. Vous pouvez apporter à cette procédure pas à pas l'amélioration suivante :

Voir aussi

Procédures pas à pas relatives aux données
Sources de données (fenêtre)
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
Comment : afficher des données connexes dans une application Windows Forms
Vue d'ensemble du composant BindingSource
Vue d'ensemble du contrôle BindingNavigator (Windows Forms)