BindingManagerBase Klas

Definitie

Hiermee beheert u alle Binding objecten die zijn gebonden aan dezelfde gegevensbron en hetzelfde gegevenslid. Deze klasse is abstract.

public ref class BindingManagerBase abstract
public abstract class BindingManagerBase
type BindingManagerBase = class
Public MustInherit Class BindingManagerBase
Overname
BindingManagerBase
Afgeleid

Voorbeelden

In het volgende codevoorbeeld wordt de BindingContext functie gebruikt om een BindingManagerBase voor een specifieke gegevensbron te retourneren. (In het voorbeeld wordt ervan uitgegaan dat u hebt gedeclareerd myBindingManagerBase in de sectie Declaraties van de module.) In het voorbeeld worden vervolgens gedelegeerden aan de CurrentChanged gebeurtenis en PositionChanged gebeurtenissen toegevoegd. Ten slotte bevat het voorbeeld vier methoden (, , en ) die de MoveNext eigenschap verhogen of verlagen en de MovePrevious eigenschap instellen op de eerste of laatste rij in de lijst.MoveFirstMoveLastPositionPosition De laatste rij in de lijst wordt bepaald met behulp van de Count eigenschap.

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

Opmerkingen

Met de BindingManagerBase kunt u gegevensgebonden besturingselementen synchroniseren op een Windows Formulier dat is gebonden aan dezelfde gegevensbron. (Zie de Binding klasse voor meer informatie over het eenvoudig binden van een besturingselement aan een gegevensbron.) Stel dat een formulier twee TextBox besturingselementen bevat die zijn gebonden aan dezelfde gegevensbron, maar aan verschillende kolommen. De gegevensbron kan een DataTable gegevensbron zijn die klantnamen bevat, terwijl de kolommen mogelijk de voor- en achternamen bevatten. De twee besturingselementen moeten worden gesynchroniseerd om de juiste voor- en achternamen samen voor dezelfde klant weer te geven. De CurrencyManager, die overgaat van de BindingManagerBase klasse, voert deze synchronisatie uit door een aanwijzer te onderhouden naar het huidige item in de gegevensbron. De TextBox besturingselementen zijn gebonden aan het huidige item, zodat ze de informatie voor dezelfde rij weergeven. Wanneer het huidige item wordt gewijzigd, CurrencyManager worden alle afhankelijke besturingselementen op de hoogte gehouden, zodat ze hun gegevens kunnen vernieuwen. Bovendien kunt u de Position eigenschap instellen om de rij op te geven in de DataTable rij waarnaar de besturingselementen verwijzen. Als u wilt bepalen hoeveel rijen in de gegevensbron aanwezig zijn, gebruikt u de Count eigenschap.

Dit CurrencyManager is nodig omdat gegevensbronnen niet noodzakelijkerwijs een aanwijzer voor huidig item onderhouden. Matrices en ArrayList objecten kunnen bijvoorbeeld gegevensbronnen zijn, maar ze hebben geen eigenschap die het huidige item retourneert. Gebruik de eigenschap om het huidige item op te Current halen.

De PropertyManager eigenschap neemt ook over van de BindingManagerBase, en wordt gebruikt om de huidige eigenschap van een object te behouden, in plaats van de eigenschap van een huidig object in een gegevensbron. Daarom heeft het instellen van de Position of Count eigenschap voor een PropertyManager eigenschap geen effect.

Als u een BindingManagerBase, gebruikt u de BindingContext klasse, die een CurrencyManager of een PropertyManager, retourneert, afhankelijk van de gegevensbron die wordt beheerd.

Oplossingsprogrammeurs worden aangemoedigd om besturingselementen rechtstreeks aan een BindingSource onderdeel te binden, die als zowel een gegevensbron als een gegevensconnector fungeert voor de werkelijke doelgegevensbron. BindingSource vereenvoudigt zowel eenvoudige als complexe gegevensbindingen, waaronder het beheren van valuta tussen de controle en het doel ervan.

Notities voor uitvoerders

Wanneer u overdrat van BindingManagerBase, moet u de volgende abstracte leden overschrijven: AddNew(), CountCancelCurrentEdit()CurrentEndCurrentEdit(), GetItemProperties()OnCurrentChanged(EventArgs)PositionRemoveAt(Int32)ResumeBinding(), , en . SuspendBinding()UpdateIsBinding()

Constructors

Name Description
BindingManagerBase()

Initialiseert een nieuw exemplaar van de BindingManagerBase klasse.

Velden

Name Description
onCurrentChangedHandler

Hiermee geeft u de gebeurtenis-handler voor de CurrentChanged gebeurtenis.

onPositionChangedHandler

Hiermee geeft u de gebeurtenis-handler voor de PositionChanged gebeurtenis.

Eigenschappen

Name Description
Bindings

Hiermee haalt u de verzameling bindingen op die worden beheerd.

Count

Wanneer deze wordt overschreven in een afgeleide klasse, wordt het aantal rijen dat door de BindingManagerBaseklasse wordt beheerd, opgevraagd.

Current

Wanneer dit wordt overschreven in een afgeleide klasse, wordt het huidige object opgehaald.

IsBindingSuspended

Hiermee wordt een waarde opgehaald die aangeeft of de binding is onderbroken.

Position

Wanneer deze wordt overschreven in een afgeleide klasse, haalt of stelt u de positie in de onderliggende lijst in waarop besturingselementen die aan dit gegevensbronpunt zijn gebonden, worden opgehaald of ingesteld.

Methoden

Name Description
AddNew()

Wanneer dit wordt overschreven in een afgeleide klasse, voegt u een nieuw item toe aan de onderliggende lijst.

CancelCurrentEdit()

Wanneer deze wordt overschreven in een afgeleide klasse, annuleert u de huidige bewerking.

EndCurrentEdit()

Wanneer deze wordt overschreven in een afgeleide klasse, wordt de huidige bewerking beƫindigd.

Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetItemProperties()

Wanneer deze wordt overschreven in een afgeleide klasse, haalt u de verzameling eigenschapsdescriptors voor de binding op.

GetItemProperties(ArrayList, ArrayList)

Hiermee haalt u de verzameling eigenschapsdescriptors voor de binding op met behulp van de opgegeven ArrayList.

GetItemProperties(Type, Int32, ArrayList, ArrayList)

Hiermee haalt u de lijst met eigenschappen op van de items die door deze BindingManagerBaseworden beheerd.

GetListName(ArrayList)

Wanneer deze wordt overschreven in een afgeleide klasse, haalt u de naam op van de lijst met de gegevens voor de binding.

GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
OnBindingComplete(BindingCompleteEventArgs)

Hiermee wordt de BindingComplete gebeurtenis gegenereerd.

OnCurrentChanged(EventArgs)

Hiermee wordt de CurrentChanged gebeurtenis gegenereerd.

OnCurrentItemChanged(EventArgs)

Hiermee wordt de CurrentItemChanged gebeurtenis gegenereerd.

OnDataError(Exception)

Hiermee wordt de DataError gebeurtenis gegenereerd.

PullData()

Haalt gegevens op uit het besturingselement voor gegevens in de gegevensbron en retourneert geen informatie.

PushData()

Pusht gegevens van de gegevensbron naar het gegevensgebonden besturingselement, waardoor er geen informatie wordt geretourneerd.

RemoveAt(Int32)

Wanneer deze wordt overschreven in een afgeleide klasse, verwijdert u de rij op de opgegeven index uit de onderliggende lijst.

ResumeBinding()

Als deze wordt overschreven in een afgeleide klasse, wordt de gegevensbinding hervat.

SuspendBinding()

Wanneer deze worden overschreven in een afgeleide klasse, wordt de gegevensbinding onderbroken.

ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)
UpdateIsBinding()

Wanneer deze wordt overschreven in een afgeleide klasse, wordt de binding bijgewerkt.

gebeurtenis

Name Description
BindingComplete

Vindt plaats bij het voltooien van een gegevensbindingsbewerking.

CurrentChanged

Treedt op wanneer het momenteel afhankelijke item wordt gewijzigd.

CurrentItemChanged

Treedt op wanneer de status van het huidige afhankelijke item wordt gewijzigd.

DataError

Treedt op wanneer een Exception op de achtergrond wordt afgehandeld door de BindingManagerBase.

PositionChanged

Vindt plaats nadat de waarde van de Position eigenschap is gewijzigd.

Van toepassing op

Zie ook