BindingManagerBase Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Gère tous les Binding objets liés à la même source de données et au même membre de données. Cette classe est abstraite.
public ref class BindingManagerBase abstract
public abstract class BindingManagerBase
type BindingManagerBase = class
Public MustInherit Class BindingManagerBase
- Héritage
-
BindingManagerBase
- Dérivé
Exemples
L’exemple de code suivant utilise l’option BindingContext pour retourner une BindingManagerBase source de données spécifique. (L’exemple suppose que vous avez déclaré myBindingManagerBase dans la section Déclarations du module.) L’exemple ajoute ensuite des délégués d’événements CurrentChanged aux événements et PositionChanged aux événements. Enfin, l’exemple contient quatre méthodes (MoveNext, MovePrevious, MoveFirstet MoveLast) qui incrémentent ou décrémentent la Position propriété et définissent la Position valeur sur la première ou la dernière ligne de la liste. La dernière ligne de la liste est déterminée à l’aide de la Count propriété.
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;
}
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;
}
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
Remarques
Permet BindingManagerBase la synchronisation des contrôles liés aux données sur un Windows Form lié à 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 Binding classe.) Par exemple, supposons qu’un formulaire contient deux TextBox contrôles 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, tandis que les colonnes peuvent contenir les prénoms et noms. Les deux contrôles doivent être synchronisés afin d’afficher les prénoms et noms corrects pour le même client. Le CurrencyManager, qui hérite de la BindingManagerBase classe, effectue cette synchronisation en conservant un pointeur vers l’élément actuel dans la source de données. Les TextBox contrôles sont liés à l’élément actuel afin qu’ils affichent les informations de la même ligne. Lorsque l’élément actuel change, l’élément CurrencyManager avertit tous les contrôles liés afin qu’ils puissent actualiser leurs données. En outre, vous pouvez définir la Position propriété pour spécifier la ligne dans laquelle DataTable les contrôles pointent. Pour déterminer le nombre de lignes qui existent dans la source de données, utilisez la Count propriété.
La CurrencyManager valeur est nécessaire, car les sources de données ne conservent pas nécessairement un pointeur d’élément actuel. Par exemple, les tableaux et ArrayList les objets peuvent être des sources de données, mais ils n’ont pas de propriété qui retourne l’élément actuel. Pour obtenir l’élément actif, utilisez la Current propriété.
Il PropertyManager hérite également de l’objet BindingManagerBase, et il est utilisé pour conserver la propriété actuelle d’un objet, plutôt que la propriété d’un objet actuel dans une source de données. Pour cette raison, essayer de définir la ou Count la Position propriété pour un PropertyManager effet n’a aucun effet.
Pour créer un BindingManagerBase, utilisez la BindingContext classe, qui retourne un CurrencyManager ou un PropertyManager, en fonction de la source de données gérée.
Les programmeurs de solutions sont encouragés à lier des contrôles directement à un BindingSource composant, qui joue le rôle de source de données et de connecteur de données à la source de données cible réelle. BindingSource simplifie considérablement la liaison de données simple et complexe, notamment la gestion des devises entre le contrôle et sa cible.
Notes pour les responsables de l’implémentation
Lorsque vous héritez de BindingManagerBase, vous devez remplacer les membres abstraits suivants : AddNew(), Count, CancelCurrentEdit(), Current, , EndCurrentEdit(), , GetItemProperties(), OnCurrentChanged(EventArgs)PositionRemoveAt(Int32), , , ResumeBinding()SuspendBinding(), et .UpdateIsBinding()
Constructeurs
| Nom | Description |
|---|---|
| BindingManagerBase() |
Initialise une nouvelle instance de la classe BindingManagerBase. |
Champs
| Nom | Description |
|---|---|
| onCurrentChangedHandler |
Spécifie le gestionnaire d’événements pour l’événement CurrentChanged . |
| onPositionChangedHandler |
Spécifie le gestionnaire d’événements pour l’événement PositionChanged . |
Propriétés
| Nom | Description |
|---|---|
| Bindings |
Obtient la collection de liaisons gérées. |
| Count |
En cas de substitution dans une classe dérivée, obtient le nombre de lignes gérées par le BindingManagerBase. |
| Current |
En cas de substitution dans une classe dérivée, obtient l’objet actuel. |
| IsBindingSuspended |
Obtient une valeur indiquant si la liaison est suspendue. |
| Position |
En cas de substitution dans une classe dérivée, obtient ou définit la position dans la liste sous-jacente vers laquelle les contrôles liés à cette source de données pointent. |
Méthodes
| Nom | Description |
|---|---|
| AddNew() |
En cas de substitution dans une classe dérivée, ajoute un nouvel élément à la liste sous-jacente. |
| CancelCurrentEdit() |
En cas de substitution dans une classe dérivée, annule la modification actuelle. |
| EndCurrentEdit() |
En cas de substitution dans une classe dérivée, termine la modification actuelle. |
| Equals(Object) |
Détermine si l’objet spécifié est égal à l’objet actuel. (Hérité de Object) |
| GetHashCode() |
Sert de fonction de hachage par défaut. (Hérité de Object) |
| GetItemProperties() |
En cas de substitution dans une classe dérivée, obtient la collection de descripteurs de propriété pour la liaison. |
| GetItemProperties(ArrayList, ArrayList) |
Obtient la collection de descripteurs de propriété pour la liaison à l’aide du .ArrayList |
| GetItemProperties(Type, Int32, ArrayList, ArrayList) |
Obtient la liste des propriétés des éléments gérés par ce BindingManagerBase. |
| GetListName(ArrayList) |
En cas de substitution dans une classe dérivée, obtient le nom de la liste fournissant les données de la liaison. |
| GetType() |
Obtient la Type de l’instance actuelle. (Hérité de Object) |
| MemberwiseClone() |
Crée une copie superficielle du Objectactuel. (Hérité de Object) |
| OnBindingComplete(BindingCompleteEventArgs) |
Déclenche l’événement BindingComplete. |
| OnCurrentChanged(EventArgs) |
Déclenche l’événement CurrentChanged. |
| OnCurrentItemChanged(EventArgs) |
Déclenche l’événement CurrentItemChanged. |
| OnDataError(Exception) |
Déclenche l’événement DataError. |
| PullData() |
Extrait les données du contrôle lié aux données dans la source de données, en retournant aucune information. |
| PushData() |
Envoie des données de la source de données dans le contrôle lié aux données, en retournant aucune information. |
| RemoveAt(Int32) |
En cas de substitution dans une classe dérivée, supprime la ligne à l’index spécifié de la liste sous-jacente. |
| ResumeBinding() |
En cas de substitution dans une classe dérivée, reprend la liaison de données. |
| SuspendBinding() |
En cas de substitution dans une classe dérivée, suspend la liaison de données. |
| ToString() |
Retourne une chaîne qui représente l’objet actuel. (Hérité de Object) |
| UpdateIsBinding() |
En cas de substitution dans une classe dérivée, met à jour la liaison. |
Événements
| Nom | Description |
|---|---|
| BindingComplete |
Se produit à l’achèvement d’une opération de liaison de données. |
| CurrentChanged |
Se produit lorsque l’élément actuellement lié change. |
| CurrentItemChanged |
Se produit lorsque l’état de l’élément actuellement lié change. |
| DataError |
Se produit lorsqu’un Exception élément est géré en mode silencieux par le BindingManagerBase. |
| PositionChanged |
Se produit après la modification de la valeur de la Position propriété. |