BindingManagerBase, classe (System.Windows.Forms)

Bibliothèque de classes .NET Framework 
BindingManagerBase, classe 

Manage tous les objets Binding qui sont liés aux mêmes sources de données et données membres. Cette classe est abstraite.

Espace de noms : System.Windows.Forms
Assembly : System.Windows.Forms (dans system.windows.forms.dll)

SyntaxeSyntaxe


Visual Basic (Déclaration)
Public MustInherit Class BindingManagerBase


Visual Basic (Utilisation)
Dim instance As BindingManagerBase


C#
public abstract class BindingManagerBase


C++
public ref class BindingManagerBase abstract


J#
public abstract class BindingManagerBase


JScript
public abstract class BindingManagerBase
NotesNotes

Le BindingManagerBase permet la synchronisation des contrôles liés aux données dans un Windows Form qui sont liés à la même source de données. Pour plus d'informations sur la liaison simple d'un contrôle à une source de données, consultez la classe Binding. Par exemple, supposez qu'un formulaire contient deux contrôles TextBox liés à la même source de données mais à des colonnes différentes. La source de données peut être un DataTable qui contient des noms de clients, pendant que les colonnes peuvent contenir les premiers et les derniers noms. Les deux contrôles doivent être synchronisés de façon à afficher les prénom et nom corrects pour le même client. Le CurrencyManager, qui hérite de la classe BindingManagerBase, réalise cette synchronisation en maintenant un pointeur vers l'élément actuel de la source de données. Les contrôles TextBox sont liés à l'élément en cours de façon à afficher les informations pour la même ligne. Si l'élément en cours change, le CurrencyManager avertit tous les contrôles liés de sorte qu'ils puissent actualiser leurs données. De plus, vous pouvez définir la propriété Position pour spécifier la ligne dans le DataTable vers lesquels les contrôles pointent. Pour déterminer le nombre de lignes dans la source de données, utilisez la propriété Count.

Le CurrencyManager est nécessaire parce que les sources de données ne gèrent pas nécessairement un pointeur d'élément en cours. Par exemple, les tableaux et les objets ArrayList peuvent être des sources de données, mais ils ne comportent pas de propriété qui retourne l'élément en cours. Pour obtenir l'élément en cours, utilisez la propriété Current.

Le PropertyManager hérite également du BindingManagerBase et il est utilisé pour conserver la propriété en cours d'un objet, plutôt que la propriété d'un objet en cours dans une source de données. Toute tentative de définition de la propriété Position ou Count pour PropertyManager n'a pour cette raison aucun effet.

Pour créer un BindingManagerBase, utilisez la classe BindingContext, qui retourne un CurrencyManager ou un PropertyManager, suivant la source de données managée.

Les programmeurs de solutions sont encouragés à lier directement des contrôles à un composant BindingSource qui agit à la fois comme une source de données et comme un connecteur de données à la source de données cible réelle. BindingSource simplifie énormément à la fois la liaison de données simple et complexe, y compris la gestion de devise entre le contrôle et sa cible.

Remarques à l'attention des héritiers Quand vous héritez de BindingManagerBase, vous devez substituer les membres abstraits suivants : AddNew, Count, CancelCurrentEdit, Current, EndCurrentEdit, GetItemProperties, OnCurrentChanged, Position, RemoveAt, ResumeBinding, SuspendBinding, et UpdateIsBinding.

ExempleExemple

L'exemple de code suivant utilise le BindingContext pour retourner un BindingManagerBase pour une source de données spécifique. (L'exemple suppose que vous ayez déclaré myBindingManagerBase dans la section Déclarations du module). L'exemple ajoute ensuite des délégués d'événement aux événements CurrentChanged et PositionChanged. Enfin, l'exemple contient quatre méthodes (MoveNext, MovePrevious, MoveFirst et MoveLast) qui incrémentent ou décrémentent la propriété Position et paramètrent le Position à la première ou dernière ligne dans la liste. La dernière ligne dans la liste est déterminée en utilisant la propriété Count.



Visual Basic
Private Sub GetBindingManagerBase
   ' CustomersToOrders is the RelationName of a DataRelation.
   ' Therefore, the list maintained by the BindingManagerBase is the
   ' list of orders that belong to a specific customer in the
   ' DataTable named Customers, found in DataSet.
   myBindingManagerBase = Me.BindingContext(DataSet1, _
   "Customers.CustomersToOrders")

   ' Adds delegates to the CurrentChanged and PositionChanged events.
   AddHandler myBindingManagerBase.PositionChanged, _
   AddressOf BindingManagerBase_PositionChanged
   AddHandler myBindingManagerBase.CurrentChanged, _
   AddressOf BindingManagerBase_CurrentChanged
End Sub

Private Sub BindingManagerBase_PositionChanged _
(sender As Object, e As EventArgs)

   ' Prints the new Position of the BindingManagerBase.
   Console.Write("Position Changed: ")
   Console.WriteLine(CType(sender, BindingManagerBase).Position)
End Sub

Private Sub BindingManagerBase_CurrentChanged _
(sender As Object, e As EventArgs)

   ' Prints the new value of the current object.
   Console.Write("Current Changed: ")
   Console.WriteLine(CType(sender, BindingManagerBase).Current)
End Sub

Private Sub MoveNext
   ' Increments the Position property value by one.
   myBindingManagerBase.Position += 1
End Sub

Private Sub MovePrevious
   ' Decrements the Position property value by one.
   myBindingManagerBase.Position -= 1
End Sub

Private Sub MoveFirst
   ' Goes to the first row in the list.
   myBindingManagerBase.Position = 0
End Sub

Private Sub MoveLast
   ' Goes to the last row in the list.
   myBindingManagerBase.Position = _
   myBindingManagerBase.Count - 1
End Sub


C#
private void GetBindingManagerBase()
{
   /* CustomersToOrders is the RelationName of a DataRelation. 
   Therefore, the list maintained by the BindingManagerBase is the
   list of orders that belong to a specific customer in the 
   DataTable named Customers, found in DataSet1. */
   myBindingManagerBase = 
   this.BindingContext[DataSet1, "Customers.CustomersToOrders"];

   // Adds delegates to the CurrentChanged and PositionChanged events.
   myBindingManagerBase.PositionChanged += 
   new EventHandler(BindingManagerBase_PositionChanged);
   myBindingManagerBase.CurrentChanged +=
   new EventHandler(BindingManagerBase_CurrentChanged);
}

private void BindingManagerBase_PositionChanged
(object sender, EventArgs e)
{
   // Prints the new Position of the BindingManagerBase.
   Console.Write("Position Changed: ");
   Console.WriteLine(((BindingManagerBase)sender).Position);
}

private void BindingManagerBase_CurrentChanged
(object sender, EventArgs e)
{
   // Prints the new value of the current object.
   Console.Write("Current Changed: ");
   Console.WriteLine(((BindingManagerBase)sender).Current);
}

private void MoveNext()
{
   // Increments the Position property value by one.
   myBindingManagerBase.Position += 1;
}

private void MovePrevious()
{
   // Decrements the Position property value by one.
   myBindingManagerBase.Position -= 1;
}

private void MoveFirst()
{
   // Goes to the first row in the list.
   myBindingManagerBase.Position = 0;
}

private void MoveLast()
{
   // Goes to the last row in the list.
   myBindingManagerBase.Position = 
   myBindingManagerBase.Count - 1;
}



C++
void GetBindingManagerBase()
{
   
   /* CustomersToOrders is the RelationName of a DataRelation. 
      Therefore, the list maintained by the BindingManagerBase is the
      list of orders that belong to a specific customer in the 
      DataTable named Customers, found in DataSet1. */
   myBindingManagerBase = this->BindingContext[DataSet1, "Customers.CustomersToOrders"];
   
   // Adds delegates to the CurrentChanged and PositionChanged events.
   myBindingManagerBase->PositionChanged += gcnew EventHandler( this, &Form1::BindingManagerBase_PositionChanged );
   myBindingManagerBase->CurrentChanged += gcnew EventHandler( this, &Form1::BindingManagerBase_CurrentChanged );
}

void BindingManagerBase_PositionChanged( Object^ sender, EventArgs^ /*e*/ )
{
   
   // Prints the new Position of the BindingManagerBase.
   Console::Write( "Position Changed: " );
   Console::WriteLine( (dynamic_cast<BindingManagerBase^>(sender))->Position );
}

void BindingManagerBase_CurrentChanged( Object^ sender, EventArgs^ /*e*/ )
{
   
   // Prints the new value of the current object.
   Console::Write( "Current Changed: " );
   Console::WriteLine( (dynamic_cast<BindingManagerBase^>(sender))->Current );
}

void MoveNext()
{
   
   // Increments the Position property value by one.
   myBindingManagerBase->Position = myBindingManagerBase->Position + 1;
}

void MovePrevious()
{
   
   // Decrements the Position property value by one.
   myBindingManagerBase->Position = myBindingManagerBase->Position - 1;
}

void MoveFirst()
{
   
   // Goes to the first row in the list.
   myBindingManagerBase->Position = 0;
}

void MoveLast()
{
   
   // Goes to the last row in the list.
   myBindingManagerBase->Position = myBindingManagerBase->Count - 1;
}



J#
private void GetBindingManagerBase()
{
    /* CustomersToOrders is the RelationName of a DataRelation. 
       Therefore, the list maintained by the BindingManagerBase is the
       list of orders that belong to a specific customer in the 
       DataTable named Customers, found in dataSet1. 
     */
    myBindingManagerBase = this.get_BindingContext().get_Item(dataSet1, 
        "Customers.CustomersToOrders");

    // Adds delegates to the CurrentChanged and PositionChanged events.
    myBindingManagerBase.add_PositionChanged(new EventHandler
        (BindingManagerBase_PositionChanged));
    myBindingManagerBase.add_CurrentChanged(new EventHandler
        (BindingManagerBase_CurrentChanged));
} //GetBindingManagerBase

private void BindingManagerBase_PositionChanged(Object sender, EventArgs e)
{
    // Prints the new Position of the BindingManagerBase.
    Console.Write("Position Changed: ");
    Console.WriteLine(((BindingManagerBase)(sender)).get_Position());
} //BindingManagerBase_PositionChanged

private void BindingManagerBase_CurrentChanged(Object sender, EventArgs e)
{
    // Prints the new value of the current object.
    Console.Write("Current Changed: ");
    Console.WriteLine(((BindingManagerBase)(sender)).get_Current());
} //BindingManagerBase_CurrentChanged

private void MoveNext()
{
    // Increments the Position property value by one.
    myBindingManagerBase.set_Position(myBindingManagerBase.get_Position()
        + 1);
} //MoveNext

private void MovePrevious()
{
    // Decrements the Position property value by one.
    myBindingManagerBase.set_Position(myBindingManagerBase.get_Position()
        - 1);
} //MovePrevious

private void MoveFirst()
{
    // Goes to the first row in the list.
    myBindingManagerBase.set_Position(0);
} //MoveFirst

private void MoveLast()
{
    // Goes to the last row in the list.
    myBindingManagerBase.set_Position(myBindingManagerBase.get_Count() - 1);
} //MoveLast
Hiérarchie d'héritageHiérarchie d'héritage
System.Object
  System.Windows.Forms.BindingManagerBase
     System.Windows.Forms.CurrencyManager
     System.Windows.Forms.PropertyManager
Sécurité des threadsSécurité des threads
Les membres statiques publics (Shared en Visual Basic) de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.
Plates-formesPlates-formes

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile pour Pocket PC, Windows Mobile pour Smartphone, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

Informations de versionInformations de version

.NET Framework

Prise en charge dans : 2.0, 1.1, 1.0

.NET Compact Framework

Prise en charge dans : 2.0, 1.0
Voir aussiVoir aussi

Ces informations proviennent du site de http://msdn2.microsoft.com
Source de cette page : http://msdn2.microsoft.com/fr-fr/library/system.windows.forms.bindingmanagerbase.aspx

Réseaux sociaux

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher les interactions avec les réseaux sociaux sur ces pages.

 

Nuage de mots clés

9 mots clés dont 0 définis manuellement (plus d'information...).

Avertissement

Cette page ne possède pas encore de mots clés manuels, ceci est donc un exemple automatique (les niveaux de pertinence sont fictifs, mais les liens sont valables). Pour tester le nuage avec une page qui contient des mots définis manuellement, vous pouvez cliquer ici.

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher le nuage de mots clés.

 

Astuce pour imprimer les couleurs des cellules de tableaux : http://www.gaudry.be/ast-rf-450.html
Aucun commentaire pour cette page

© Ce document issu de l′infobrol est enregistré sous le certificat Cyber PrInterDeposit Digital Numbertection. Enregistrement IDDN n° 5329-6588
Document créé le 30/10/06 03:57, dernière modification le Vendredi 17 Juin 2011, 12:11
Source du document imprimé : http://www.gaudry.be/dotnet-rf-system.windows.forms.bindingmanagerbase.html Document affiché 1 fois ce mois de Juin.
St.Gaudry©07.01.02
Outils (masquer)
||
Recherche (afficher)
Recherche :

Utilisateur (masquer)
Apparence (afficher)
Stats (afficher)
15832 documents
452 astuces.
549 niouzes.
3099 definitions.
447 membres.
8115 messages.

Document genere en :
0,34 seconde

Mises à jour :
Mises à jour du site
Citation (masquer)
Douter de tout ou tout croire sont deux solutions également commodes, qui l'une et l'autre nous dispensent de réfléchir.

Henri Poincaré
 
l'infobrol
Nous sommes le Vendredi 01 Juin 2012, 04:56, toutes les heures sont au format GMT+1.00 Heure, heure d'été (+1)