BindingManagerBase Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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. |