Partager via


Procédure pas à pas : création d'un contrôle utilisateur Windows Forms prenant en charge la liaison de données complexe

Pour présenter des données dans des formulaires d'applications Windows, vous pouvez choisir des contrôles existants dans la Boîte à outils ou créer des contrôles personnalisés si votre application requiert des fonctionnalités qui ne sont pas disponibles dans les contrôles standard. Cette procédure pas à pas vous indique comment créer un contrôle qui implémente l'objet ComplexBindingPropertiesAttribute. Les contrôles qui implémentent ComplexBindingPropertiesAttribute contiennent une propriété DataSource et DataMember pouvant être liée aux données. Ce type de contrôles est similaire à DataGridView ou ListBox.

Pour plus d'informations sur la création de contrôles, consultez Développement de contrôles Windows Forms au moment du design.

Quand vous créez des contrôles utilisables dans des scénarios de liaison de données, vous devez implémenter l'un des attributs Databinding suivants :

Utilisation de l'attribut Databinding

Implémentez DefaultBindingPropertyAttribute sur des contrôles simples, comme TextBox, qui affichent une seule colonne (ou propriété) de données. Pour plus d'informations, consultez Procédure pas à pas : création d'un contrôle utilisateur Windows Forms prenant en charge la liaison de données simple.

Implémentez ComplexBindingPropertiesAttribute sur des contrôles, comme DataGridView, qui affichent des listes (ou tables) de données. (Ce processus est décrit dans cette page de procédure pas à pas.)

Implémentez l'objet LookupBindingPropertiesAttribute sur des contrôles, comme ComboBox, qui affichent des listes (ou tables) de données, mais doivent également présenter une seule colonne ou propriété. Pour plus d'informations, consultez Procédure pas à pas : création d'un contrôle utilisateur Windows Forms prenant en charge la liaison de données de recherche.

Cette procédure pas à pas crée un contrôle complexe affichant les lignes de données d'une table. Cet exemple utilise la table Customers de l'exemple de base de données Northwind. Le contrôle utilisateur complexe affiche la table de clients dans un DataGridView dans le contrôle personnalisé.

Pendant cette procédure pas à pas, vous allez apprendre à :

  • Créer une application Windows.

  • Ajouter un nouveau Contrôle utilisateur à votre projet.

  • Concevoir visuellement le contrôle utilisateur.

  • Implémenter l'attribut ComplexBindingProperty.

  • Créer un dataset à l'aide de l'Configuration de source de données (Assistant).

  • Définir la table Customers dans la Sources de données (fenêtre) pour qu'elle utilise le nouveau contrôle complexe.

  • Ajouter le nouveau contrôle en le faisant glisser depuis la fenêtre Sources de données vers Form1.

Composants requis

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

Création d'une application Windows

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

Pour créer un projet Windows

  1. Dans Visual Studio, dans le menu Fichier, créez un Projet.

  2. Attribuez le nom ComplexControlWalkthrough au projet.

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

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

Ajout d'un contrôle utilisateur au projet

Cette procédure pas à pas créant un contrôle complexe pouvant être lié aux données à partir d'un Contrôle utilisateur, vous devez ajouter un élément Contrôle utilisateur au projet.

Pour ajouter un contrôle utilisateur au projet

  1. Dans le menu Projet, choisissez Ajouter un contrôle utilisateur.

  2. Tapez ComplexDataGridView dans la zone Nom, puis cliquez sur Ajouter.

    Le contrôle ComplexDataGridView est ajouté à l'Explorateur de solutions et s'ouvre dans le concepteur.

Conception du contrôle ComplexDataGridView

Cette étape ajoute un DataGridView au contrôle utilisateur.

Pour concevoir le contrôle ComplexDataGridView

  • Faites glisser un DataGridView depuis la Boîte à outils vers l'aire de conception du contrôle utilisateur.

Ajout de l'attribut Databinding requis

Pour des contrôles complexes prenant en charge la liaison de données, vous pouvez implémenter l'attributComplexBindingPropertiesAttribute.

Pour implémenter l'attribut ComplexBindingProperties

  1. Basculez le contrôle ComplexDataGridView sur le mode Code. (Dans le menu Affichage, choisissez Code.)

  2. Remplacez le code de ComplexDataGridView par le code suivant :

    <System.ComponentModel.ComplexBindingProperties("DataSource", "DataMember")>
    Public Class ComplexDataGridView
    
        Public Property DataSource() As Object 
            Get 
                Return DataGridView1.DataSource
            End Get 
            Set(ByVal value As Object)
                DataGridView1.DataSource = value
            End Set 
        End Property 
    
        Public Property DataMember() As String 
            Get 
                Return DataGridView1.DataMember
            End Get 
            Set(ByVal value As String)
                DataGridView1.DataMember = value
            End Set 
        End Property 
    End Class
    
    using System.Windows.Forms;
    
    namespace CS
    {
        [System.ComponentModel.ComplexBindingProperties("DataSource", "DataMember")]
        public partial class ComplexDataGridView : UserControl
        {
            public object DataSource
            {
                get{ return dataGridView1.DataSource; }
                set{ dataGridView1.DataSource = value; }
            }
    
            public string DataMember
            {
                get{ return dataGridView1.DataMember; }
                set{ dataGridView1.DataMember = value; }
            }
    
            public ComplexDataGridView()
            {
                InitializeComponent();
            }
        }
    }
    
  3. Dans le menu Générer, cliquez sur Générer la solution.

Création d'une source de données à partir de votre base de données

Cette étape utilise l'Assistant Configuration de source de données pour créer une source de données basée sur la table Customers de l'exemple de base de données Northwind. Vous devez avoir accès à l'exemple de base de données Northwind pour créer la connexion. Pour plus d'informations sur la configuration de l'exemple de base de données Northwind, consultez Comment : installer des exemples de bases de données.

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 la table Customers, puis cliquez sur Terminer.

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

Définition de la table Customers pour qu'elle utilise le contrôle ComplexDataGridView

Dans la fenêtre Sources de données, vous pouvez définir le contrôle à créer avant de faire glisser des éléments vers votre formulaire.

Pour définir la table Customers pour qu'elle soit liée au contrôle ComplexDataGridView

  1. Ouvrez Form1 dans le concepteur.

  2. Développez le nœud Customers dans la fenêtre Sources de données.

  3. Cliquez sur la flèche déroulante du nœud Customers et choisissez Personnaliser.

  4. Sélectionnez ComplexDataGridView dans la liste des Contrôles associés de la boîte de dialogue Options de personnalisation de l'interface utilisateur du formulaire de données.

  5. Cliquez sur la flèche déroulante de la table Customers et choisissez ComplexDataGridView dans la liste de contrôles.

Ajout de contrôles au formulaire

Pour créer des contrôles liés aux données, vous pouvez faire glisser des éléments depuis la fenêtre Sources de données vers votre formulaire.

Pour créer des contrôlés liés aux données dans le formulaire

  • Faites glisser le nœud Customers principal de la fenêtre Sources de données vers le formulaire et vérifiez que le contrôle ComplexDataGridView est utilisé pour afficher les données de la table.

Exécution de l'application

Pour exécuter l'application

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

Étapes suivantes

Selon les spécifications de votre application, vous pouvez exécuter différentes étapes après la création d'un contrôle prenant en charge la liaison de données. Les étapes ultérieures sont habituellement celles-ci :

Voir aussi

Tâches

Comment : définir le contrôle à créer lors d'une opération de glisser-déplacer à partir de la fenêtre Sources de données

Concepts

Liaison de contrôles Windows Forms à des données dans Visual Studio

Préparation de votre application pour recevoir des données

Extraction de données dans votre application

Liaison de contrôles à des données dans Visual Studio

Modification des données dans votre application

Validation des données

Enregistrement des données

Autres ressources

contrôles Windows Forms

Connexion aux données dans Visual Studio