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

Mise à jour : novembre 2007

Lorsque vous affichez des données sur des formulaires dans les applications Windows, vous pouvez soit choisir des contrôles existants de la Boîte à outils, soit créer des contrôles personnalisés si votre application nécessite des fonctionnalités qui ne sont pas disponibles dans les contrôles standard. Cette procédure pas à pas indique comment créer un contrôle qui implémente ComplexBindingPropertiesAttribute. Les contrôles qui implémentent ComplexBindingPropertiesAttribute contiennent des propriétés DataSource et DataMember qui peuvent être liées aux données. Ces contrôles sont semblables à DataGridView ou ListBox.

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

Lors de la création de contrôles à utiliser dans les scénarios de liaison de données, vous devez implémenter l'un des attributs de liaison de données suivants :

Utilisation des attributs de liaison de données

Implémentez DefaultBindingPropertyAttribute sur les contrôles simples, comme un TextBox qui affiche 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 prenant en charge la liaison de données simple.

Implémentez ComplexBindingPropertiesAttribute sur les contrôles, comme un 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 LookupBindingPropertiesAttribute sur les contrôles, comme un ComboBox, qui affichent des listes (ou tables) de données mais qui ont également besoin de présenter une seule colonne ou propriété. Pour plus d'informations, consultez Procédure pas à pas : création d'un contrôle utilisateur prenant en charge la liaison de données de recherche.

Cette procédure pas à pas crée un contrôle complexe qui affiche des 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 Customers dans une DataGridView dans le contrôle personnalisé.

Au cours de cette procédure pas à pas, vous apprendrez à :

  • Créer une nouvelle application Windows.

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

  • Concevoir visuellement le contrôle utilisateur.

  • Implémenter l'attribut ComplexBindingProperty.

  • Créer un groupe de données avec l'Assistant Configuration de source de données.

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

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

Composants requis

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

Création d'une application Windows

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

Pour créer le nouveau projet Windows

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

  2. Nommez le projet ProcédureContrôleComplexe.

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

    Le projet ProcédureContrôleComplexe 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é à des 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 contrôle DataGridView au contrôle utilisateur.

Pour concevoir le contrôle ComplexDataGridView

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

Ajout de l'attribut de liaison de données requis

Dans le cas de contrôles complexes qui prennent en charge la liaison de données, vous pouvez implémenter ComplexBindingPropertiesAttribute.

Pour implémenter l'attribut ComplexBindingProperties

  1. Basculez le contrôle ComplexDataGridView en mode Code. (Dans le menu Affichage, sélectionnez Code.)

  2. Remplacez le code dans ComplexDataGridView par les éléments suivants :

    <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 fournie dans 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 l'installation 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 une/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 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

La fenêtre Sources de données vous permet de définir le contrôle à créer avant de faire glisser des éléments vers un formulaire.

Pour définir la table Customers pour qu'elle crée une liaison avec le 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 de déroulement du nœud Customers et sélectionnez Personnaliser.

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

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

Ajout de contrôles au formulaire

Vous pouvez créer les contrôles liés aux données en faisant glisser des éléments depuis la fenêtre Sources de données vers votre formulaire.

Pour créer des contrôles liés aux données sur le formulaire

  • Faites glisser le nœud Customers principal de la fenêtre Sources de données sur 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 qui prend en charge la liaison de données. Les étapes suivantes les plus courantes sont :

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

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

Autres ressources

Contrôles Windows Forms

Connexion aux données dans Visual Studio

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

Extraction de données dans votre application

Affichage des données sur des formulaires dans les applications Windows

Modification des données dans votre application

Validation des données

Enregistrement des données