Procédure pas à pas : affichage de données liées sur un formulaire dans une application Windows

Mise à jour : novembre 2007

Dans beaucoup de scénarios d'application, vous voudrez utiliser des données issues de plusieurs tables souvent connexes. Cela signifie que vous souhaitez utiliser une relation parent-enfant. Par exemple, vous pouvez créer un formulaire dans lequel la sélection d'un enregistrement de client entraîne l'affichage de ses commandes. L'affichage des enregistrements connexes sur le formulaire s'effectue en affectant le BindingSource (et non la table enfant) comme valeur de la propriété DataSource du BindingSource, et en affectant la relation de données qui relie les tables parente et enfant comme valeur de la propriété DataMember du BindingSource.

Cette procédure pas à pas illustre les tâches suivantes :

  • Création d'un nouveau projet Application Windows.

  • Création et configuration dans votre application d'un groupe de données basé sur les tables Customers et Orders de la base de données Northwind à l'aide de l'Assistant Configuration de source de données.

  • Ajout de contrôles permettant d'afficher des données de la table Customers.

  • Ajout de contrôles permettant d'afficher les commandes (Orders) basées sur le client (Customer) sélectionné.

  • Test de l'application en sélectionnant différents clients et en vérifiant l'affichage des commandes correctes pour le client sélectionné.

Composants requis

Pour exécuter cette procédure pas à pas, vous devez utiliser :

Création du projet

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

Pour créer le projet Application Windows

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

  2. Nommez le projet RelatedDataWalkthrough.

  3. Sélectionnez Application Windows, puis cliquez sur OK. Pour plus d'informations, consultez Création d'applications Windows.

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

Création de la source de données

Cette étape crée un groupe de données basé sur les tables Customers et Orders dans 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. Pour plus d'informations, consultez Ajouter/Modifier une connexion, boîte de dialogue (Général).

  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 jusqu'en haut de Form1.

    Les contrôles liés aux données avec des étiquettes descriptives s'affichent sur le formulaire, ainsi qu'une barre d'outils (BindingNavigator) pour naviguer au sein des enregistrements. Un NorthwindDataSet, un CustomersTableAdapter, un BindingSource et un BindingNavigator apparaissent 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 jusqu'au 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.

    Remarque :

    Ouvrez la fenêtre Propriétés et sélectionnez OrdersBindingSource. Vérifiez les propriétés DataSource et DataMember pour observer la manière dont la liaison est configurée pour afficher les enregistrements connexes. La valeur de DataSource est CustomersBindingSource (la table BindingSource parente), plutôt que la table Orders. La propriété DataMember a la valeur FK_Orders_Customers, qui correspond au 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 correctes sont affichées dans le DataGridView.

Étapes suivantes

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

Voir aussi

Tâches

Comment : afficher des données liées dans une application Windows

Concepts

Nouveautés des données

Vue d'ensemble de l'affichage des données

Vue d'ensemble des sources de données

Vue d'ensemble de TableAdapter

Référence

Sources de données, fenêtre

Vue d'ensemble du composant BindingSource

Vue d'ensemble du contrôle BindingNavigator (Windows Forms)

Autres ressources

Procédures pas à pas relatives aux données