Partager via


Sources de données prises en charge par les Windows Forms

Traditionnellement, la liaison de données a été utilisée dans les applications pour tirer parti des données stockées dans des bases de données. Avec la liaison de données Windows Forms, vous pouvez accéder aux données à partir de bases de données ainsi qu’aux données d’autres structures, telles que des tableaux et des collections, tant que certaines exigences minimales ont été remplies.

Structures à lier à

Dans Windows Forms, vous pouvez établir une liaison à une grande variété de structures, d’objets simples (liaison simple) à des listes complexes telles que des tables de données ADO.NET (liaison complexe). Pour une liaison simple, Windows Forms prend en charge la liaison aux propriétés publiques sur l’objet simple. La liaison basée sur la liste Windows Forms nécessite généralement que l’objet prend en charge l’interface IList ou l’interface IListSource . En outre, si vous effectuez une liaison avec un composant, vous pouvez établir une BindingSource liaison à un objet qui prend en charge l’interface IEnumerable . Pour plus d’informations sur les interfaces liées à la liaison de données, consultez Interfaces associées à la liaison de données.

La liste suivante montre les structures à laquelle vous pouvez établir une liaison dans Windows Forms.

BindingSource
Il BindingSource s’agit de la source de données Windows Forms la plus courante et agit un proxy entre une source de données et des contrôles Windows Forms. Le modèle d’utilisation général BindingSource consiste à lier vos contrôles à la BindingSource source de données et à la lier BindingSource (par exemple, une table de données ADO.NET ou un objet métier). Le BindingSource service fournit des services qui permettent et améliorent le niveau de prise en charge de la liaison de données. Par exemple, les contrôles basés sur la liste Windows Forms, tels que ceux qui ne prennent pas directement en charge la DataGridViewComboBox liaison à IEnumerable des sources de données, vous pouvez toutefois activer ce scénario en le liant par le biais d’un BindingSource. Dans ce cas, la BindingSource source de données est convertie en .IList

Objets simples
Windows Forms prend en charge les propriétés de contrôle de liaison de données aux propriétés publiques sur l’instance d’un objet à l’aide du Binding type. Windows Forms prend également en charge les contrôles basés sur la liste de liaisons, tels qu’une ListControl instance d’objet lorsqu’un BindingSource objet est utilisé.

tableau ou collection
Pour agir en tant que source de données, une liste doit implémenter l’interface IList ; un exemple serait un tableau qui est une instance de la Array classe. Pour plus d’informations sur les tableaux, consultez Guide pratique pour créer un tableau d’objets (Visual Basic).

En général, vous devez utiliser BindingList<T> lorsque vous créez des listes d’objets pour la liaison de données. BindingList<T> est une version générique de l’interface IBindingList . L’interface IBindingList étend l’interface IList en ajoutant des propriétés, des méthodes et des événements nécessaires pour la liaison de données bidirectionnelle.

IEnumerable
Les contrôles Windows Forms peuvent être liés à des sources de données qui prennent uniquement en charge l’interface IEnumerable s’ils sont liés via un BindingSource composant.

objets de données ADO.NET
ADO.NET fournit un certain nombre de structures de données adaptées à la liaison. Chacun varie dans sa sophistication et sa complexité.

  • DataColumn. Il DataColumn s’agit du bloc de construction essentiel d’un DataTable, dans lequel un certain nombre de colonnes comprennent une table. Chacun DataColumn possède une DataType propriété qui détermine le type de données que contient la colonne (par exemple, la création d’une voiture dans une table décrivant les voitures). Vous pouvez lier facilement un contrôle (par exemple, la propriété d’un TextBoxText contrôle) à une colonne au sein d’une table de données.

  • DataTable. Il DataTable s’agit de la représentation d’une table, avec des lignes et des colonnes, dans ADO.NET. Une table de données contient deux collections : DataColumn, représentant les colonnes de données d’une table donnée (qui déterminent finalement les types de données pouvant être entrés dans cette table) et DataRow, représentant les lignes de données d’une table donnée. Vous pouvez lier un contrôle complexe aux informations contenues dans une table de données (par exemple, lier le DataGridView contrôle à une table de données). Toutefois, lorsque vous effectuez une liaison à un DataTable, vous êtes vraiment lié à la vue par défaut de la table.

  • DataView. Il DataView s’agit d’une vue personnalisée d’une table de données unique qui peut être filtrée ou triée. Une vue de données est les données « instantané » utilisées par les contrôles liés complexes. Vous pouvez établir une liaison simple ou complexe aux données dans une vue de données, mais sachez que vous êtes lié à une « image » fixe des données plutôt qu’à une propre, en mettant à jour la source de données.

  • DataSet. Il DataSet s’agit d’une collection de tables, de relations et de contraintes des données dans une base de données. Vous pouvez lier facilement ou complexement les données au sein d’un jeu de données, mais sachez que vous êtes lié à la valeur par défaut DataViewManager pour le DataSet (voir le point de puce suivant).

  • DataViewManager. A DataViewManager est une vue personnalisée de l’ensemble DataSet, analogue à un DataView, mais avec des relations incluses. Avec une DataViewSettings collection, vous pouvez définir des filtres par défaut et des options de tri pour toutes les vues dont la DataViewManager table est affectée.

Voir aussi