Le DataBinding de Framework.Net
Le DataBinding de Framework.Net
Objectif:
-
Description:
- Le Databinding est une fonctionnalité qui permet d’associer une source de données à un contrôle Windows Forms.
- Le DataBinding est une fonctionnalité puissante fournie par le framework .NET qui permet aux éléments visuels d’un client de se connecter à une source de données telle que DataSets, DataViews, Arrays, etc.
- Le fait de « binder » (lier) ces données permettra au contrôle de les afficher automatiquement en évitant de devoir parcourir toutes les données et les renseigner une à une.
- La liaison de données permet aux développeurs de créer un lien de lecture / écriture entre les contrôles d’un formulaire et les données de leur application (leur modèle de données).
- La liaison de données Windows Forms vous permet d’accéder aux données des bases de données.
- La liaison de données consiste à récupérer des données d’une source et à les associer dynamiquement à une propriété de certains éléments visuels.
-
BindingContext:
- Si vous ajoutez un TextBox contrôle à un formulaire et le lier à une colonne d’une table dans un dataset, le contrôle communique avec le BindingContext du formulaire.
- Le BindingContext, à son tour, communique avec le spécifique CurrencyManager pour cette association de données.
- Si vous avez un contrôle TextBox sur un formulaire et le liez à une colonne d’une table (le nom de table suivi par un point et le nom du champs) dans un jeu de données (le nom dataset).
- Le contrôle communique avec l’objet BindingContext pour ce formulaire.
- L’objet BindingContext, à son tour, parle à l’objet CurrencyManager spécifique pour cette association de données.
- Si vous avez interrogé la propriété Position de CurrencyManager, elle signale l’enregistrement en cours pour la liaison de ce contrôle TextBox.
- Dans l’exemple ci-dessous, un contrôle TextBox est lié à la colonne « cin » d’une table « apprenants » sur l’ ensemble de données « ds » via l’objet BindingContext pour le formulaire sur lequel il se trouve.
-
Types de Binding
- Binding simple: une propriété d’un contrôle est liée à une seule valeur Ex: TextBox avec une colonne dans le tableau
- Binding complexe: un contrôle est associé à une ou plusieurs valeurs de données Ne peut être effectué que sur des contrôles afficher plus d’une valeur à la fois Ex: comboBox
- Le Binding complexe vous permet de lier le contrôle avec plusieurs éléments de données
- Certains des contrôles qui prennent en charge les Binding complexe sont DataGridView,Listbox, comboBox et les ErrorProvider
-
CurrencyManager
- Le CurrencyManager est utilisé pour synchroniser les contrôles liés aux données les uns avec les autres (en affichant les données du même enregistrement).
- Le CurrencyManager est objet qui permet de parcourir les lignes du DataTable.
- Une ligne du DataTable est toujours la ligne en cours
- Les objets CurrencyManager sont inclus dans les composants BindingSource
- Position property: Numéro de la ligne actuelle (base zéro)
- Count Property : Combien de lignes y a-t-il dans le tableau?
- Chaque objet Binding parle à a CurrencyManager ou a PropertyManager.
- CurrencyManager et les PropertyManager sont dérivés de la classe de base BindingManagerBase.
- Chaque formulaire Windows a au moins un objet BindingContext qui gère les objets CurrencyManager pour le formulaire.
-
Exercice d’explication
- Créez une application c# qui accédera à la base de données « Gestion apprenants.accdb » et affichera les informations sur le formulaire dans des zones de texte liées.
- Le programme doit utiliser un DataAdapter, un Dataset, une Binding Source et un CurrencyManager pour manipuler les données de la table apprenant.
-
Vidéo d’explication
// Liaison de données simple txtCin.DataBindings.Add("text", ds, "apprenants.cin"); // Récupère le CurrencyManager actuel de Rowposition CurrencyManager cm = (CurrencyManager)this.BindingContext[ds, "apprenants"]; if (cm.Position < cm.Count - 1) { cm.Position++; }