Comment : lier le contrôle DataGrid Windows Forms à une source de données
Notes
Le contrôle DataGridView remplace le contrôle DataGrid et lui ajoute des fonctionnalités ; toutefois, le contrôle DataGrid est conservé pour la compatibilité descendante et l'utilisation future si tel est votre choix. Pour plus d'informations, consultez Différences entre les contrôles DataGridView et DataGrid Windows Forms.
Le contrôle DataGrid Windows Forms est spécialement conçu pour afficher des informations d'une source de données. Vous liez le contrôle au moment de l'exécution en appelant la méthode SetDataBinding. Bien que vous puissiez afficher des données provenant d'un large éventail de sources de données, les sources les plus courantes sont les groupes de données et les vues de données.
Pour lier les données d'un contrôle DataGrid par programme
Écrivez le code servant à remplir le groupe de données.
Si la source est un groupe de données ou une vue de données basée sur une table de groupe de données, ajoutez au formulaire du code destiné à remplir le groupe de données.
Le code exact utilisé dépend de la provenance des données du groupe. Si le groupe de données est rempli directement à partir d'une base de données, vous appelez en général la méthode Fill d'un adaptateur de données, comme dans l'exemple suivant, qui remplit le groupe de données DsCategories1 :
sqlDataAdapter1.Fill(DsCategories1)
sqlDataAdapter1.Fill(DsCategories1);
sqlDataAdapter1->Fill(dsCategories1);
Si le groupe de données est rempli via un service Web XML, vous créez en général une instance de ce service dans le code et appelez une de ses méthodes pour retourner un groupe de données. Ensuite, vous fusionnez le groupe de données issu du service Web XML avec le groupe de données local. L'exemple suivant montre comment créer une instance d'un service Web XML nommé CategoriesService, appeler sa méthode GetCategories et fusionner le groupe de données résultant dans un groupe de données local nommé DsCategories1 :
Dim ws As New MyProject.localhost.CategoriesService() ws.Credentials = System.Net.CredentialCache.DefaultCredentials DsCategories1.Merge(ws.GetCategories())
MyProject.localhost.CategoriesService ws = new MyProject.localhost.CategoriesService(); ws.Credentials = System.Net.CredentialCache.DefaultCredentials; DsCategories1.Merge(ws.GetCategories());
MyProject::localhost::CategoriesService^ ws = new MyProject::localhost::CategoriesService(); ws->Credentials = System::Net::CredentialCache::DefaultCredentials; dsCategories1->Merge(ws->GetCategories());
Appelez la méthode SetDataBinding du contrôle DataGrid, en lui passant la source de données et une donnée membre. Si vous devez passer explicitement une donnée membre, passez une chaîne vide.
Notes
Si vous liez la grille pour la première fois, vous pouvez définir les propriétés DataSource et DataMember du contrôle. Toutefois, une fois ces propriétés définies, vous ne pouvez pas les réinitialiser. Il est donc recommandé d'utiliser systématiquement la méthode SetDataBinding.
L'exemple suivant montre comment effectuer la liaison par programme à la table Customers d'un groupe de données nommé DsCustomers1 :
DataGrid1.SetDataBinding(DsCustomers1, "Customers")
DataGrid1.SetDataBinding(DsCustomers1, "Customers");
dataGrid1->SetDataBinding(dsCustomers1, "Customers");
Si la table Customers est la seule du groupe de données, vous pourriez également lier la grille comme suit :
DataGrid1.SetDataBinding(DsCustomers1, "")
DataGrid1.SetDataBinding(DsCustomers1, "");
dataGrid1->SetDataBinding(dsCustomers1, "");
(Facultatif) Ajoutez les styles de table et de colonne appropriés à la grille. S'il n'existe pas de style de table, la table s'affichera avec une mise en forme minimale et toutes ses colonnes visibles.
Voir aussi
Tâches
Comment : ajouter des tables et des colonnes au contrôle DataGrid Windows Forms
Référence
Vue d'ensemble du contrôle DataGrid (Windows Forms)