Procédure pas à pas : affichage de données liées sur un Windows Form
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 dataset basé sur les tables Customers et Orders dans la base de données Northwind à l'aide du Configuration de source de données (Assistant).
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 :
- avoir accès à l'exemple de base de données Northwind. Pour installer les exemples de base de données, consultez Comment : installer des exemples de bases de données.
Création du projet
La première étape consiste à créer une Application Windows.
Pour créer le projet Application Windows
Dans le menu Fichier, créez un nouveau projet.
Nommez le projet RelatedDataWalkthrough.
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
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. Pour plus d'informations, consultez Ajouter/Modifier une connexion, boîte de dialogue (Général).
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 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)
Dans la fenêtre Sources de données, sélectionnez la table Customers, puis cliquez sur la flèche de déroulement.
Choisissez Détails dans le menu.
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
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.
Notes
Ouvrez le Propriétés (fenêtre) 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
Appuyez sur F5 pour exécuter l'application.
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 :
- Filtrage des enregistrements Customers en ajoutant le paramétrage à la table Customers. Dans ce but, sélectionnez tout contrôle qui affiche des données de la table Customers, cliquez sur la balise active et sélectionnez Ajouter une requête. Complétez le Générateur de critères de recherche, boîte de dialogue. Pour plus d'informations, consultez Comment : ajouter une requête paramétrable à une application Windows Forms.
Voir aussi
Tâches
Comment : afficher des données connexes dans une application Windows Forms
Référence
Vue d'ensemble du composant BindingSource
Vue d'ensemble du contrôle BindingNavigator (Windows Forms)
Concepts
Nouveautés du développement d'applications de données
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