Liaison de données à un contrôle ComboBox, exemple
Mise à jour : novembre 2007
Cet exemple montre comment lier des données aux contrôles ComboBox et DataGridView.
Pour obtenir des exemples et leurs instructions d'installation
Effectuez une ou plusieurs des opérations suivantes :
Dans le menu ? (Aide), cliquez sur Exemples.
Le fichier Readme contient des informations sur les exemples.
Accédez au site Web Exemples Visual Studio 2008. La version la plus récente des exemples est disponible sur ce site.
Recherchez les exemples sur l'ordinateur sur lequel Visual Studio est installé. Par défaut, les exemples et un fichier Readme sont installés sous lecteur:\Program Files\Microsoft Visual Studio 9.0\Samples\1036. Pour les versions Express de Visual Studio, tous les exemples sont disponibles en ligne.
Pour plus d'informations, consultez Recherche des fichiers d'exemple.
.
Note de sécurité : |
---|
Cet exemple de code est destiné à illustrer un concept ; il présente uniquement le code qui se rapporte spécifiquement à ce concept. Il est possible qu'il ne réponde pas aux exigences de sécurité d'un environnement spécifique, et ne doit pas être utilisé exactement comme indiqué. Nous vous recommandons d'ajouter du code de sécurité et de gestion des erreurs afin de renforcer la sécurité et la fiabilité de vos projets. Microsoft fournit cet exemple de code « EN L'ÉTAT » sans aucune garantie. |
Pour exécuter cet exemple
- Appuyez sur F5.
Configuration requise
Cet exemple requiert l'exemple de base de données Northwind. Pour plus d'informations, consultez Comment : installer et dépanner des composants de base de données pour les exemples.
Démonstrations
Le code montre comment lier six types différents de sources de données à un contrôle ComboBox. Les données sont liées à partir d'un :
tableau
ArrayList de chaînes
ArrayList d'objets de classe
objet BindingSource.
Lorsque le formulaire principal se charge, la table Products de la base de données Northwind est récupérée dans un DataSet à l'aide d'une simple instruction SQL Select. DataView qui fournit une vue triée de la colonne ProductName est également créé à ce moment. La table Products est chargée dans un autre DataSet à l'aide d'un TableAdapter et d'un BindingSource.
L'utilisateur peut alors remplir le contrôle zone de liste déroulante en liant un autre tableau de couleurs, une liste de tableaux de formes, une liste avancée de tables contenant les départements des ventes définis avec une structure, la table de produits qui réside dans l'un des groupes de données ou la vue triée de données. Si l'utilisateur lie le groupe de données, la vue de données ou la liste avancée de tables de départements des ventes, lorsqu'une entrée est sélectionnée à partir de la zone de liste déroulante, une valeur associée pour cette entrée est également affichée. Si l'utilisateur établit une liaison au connecteur de données, la zone de liste déroulante et DataGridView sont synchronisés. La modification de la valeur de la zone de liste déroulante déplace le DataGridView au même enregistrement. Faire défiler le groupe de données dans la grille ou utiliser la barre d'outils de navigation permet de mettre à jour la zone de liste déroulante.
Le formulaire principal contient les contrôles zone de liste déroulante, contrôles bouton pour charger des données et deux contrôles label et une grille pour afficher la source de données et la valeur sélectionnée. ArrayList, DataSet et DataView vous permettent d'associer une valeur à chaque élément affiché dans le contrôle zone de liste déroulante. Par exemple, si l'utilisateur sélectionne l'entrée de produit Chai dans la table de produits liée à la zone de liste déroulante, Chai est affiché comme entrée sélectionnée, mais son ProductId associé est également disponible à travers la propriété SelectedValue. La propriété ValueMember vous permet de sélectionner l'élément qui contient la valeur associée. La propriété DisplayMember vous permet de sélectionner l'élément qui est affiché dans le contrôle zone de liste déroulante.
Création de cet exemple
La majeure partie de ce formulaire a été créée en y faisant glisser des composants, puis en utilisant des balises actives et des paramètres dans la fenêtre Propriétés. Les éléments suivants expliquent de façon succincte comment vous pourriez créer à partir de zéro la partie DataGridView du formulaire :
Créez un nouveau projet Application Windows.
Avec Form1 ouvert, sélectionnez la fenêtre de Source de données. Elle peut également être activée au moyen du menu Données.
Dans la fenêtre Sources de données, cliquez sur Ajouter une nouvelle source de données.
Dans l'Assistant Configuration de source de données, choisissez Base de données comme type de source de données.
Pour la connexion de données, choisissez un serveur qui contient Northwind.
L'étape suivante vous permet d'enregistrer la chaîne de connexion dans un fichier des paramètres de l'application fortement typé.
Dans "Choisir vos objets de base de données", sélectionnez la table Products.
Cliquez sur Terminer pour créer votre groupe de données typé pour la base de données Northwind. Vous pouvez consulter les résultats dans la fenêtre Sources de données.
De la fenêtre Sources de données, faites glisser la table Products vers Form1.
Au final, vous verrez un DataGridView lié aux données et des contrôles BindingNavigator ajoutés à la surface du Concepteur de formulaires. NorthwindDataSet, ProductsTableAdapter et ProductsBindingSource ajouté à la barre d'état des composants s'affichera également.
Chargement de données dans le formulaire
Dans cet exemple, vous chargez le formulaire avec les données sans aucun paramètre fourni par l'utilisateur. Le Concepteur de DataSet vous permet de tirer parti de DataAdapter réutilisables pour remplir dsProducts2.
Lorsque vous faites glisser la table Employees à partir de la fenêtre Sources de données, Visual Studio place automatiquement le code pour qu'il appelle la requête par défaut dans le TableAdapter de l'événement Form.Load. Dans cet exemple que ce code a été déplacé vers la méthode Click btnDC :
' Fill the Lookup Tables
Me.ProductsTableAdapter.Fill(Me.NorthwindDataSet.Products)
Voir aussi
Tâches
Comment : installer et dépanner des composants de base de données pour les exemples
Comment : lier un contrôle ComboBox ou ListBox Windows Forms aux données
Concepts
Sources de données prises en charge par les Windows Forms