Teilen über


BindingManagerBase Klasse

Definition

Verwaltet sämtliche Binding-Objekte, die an dieselbe Datenquelle und denselben Datenmember gebunden sind. Diese Klasse ist abstrakt.

public ref class BindingManagerBase abstract
public abstract class BindingManagerBase
type BindingManagerBase = class
Public MustInherit Class BindingManagerBase
Vererbung
BindingManagerBase
Abgeleitet

Beispiele

Im folgenden Codebeispiel wird der BindingContext verwendet, um eine BindingManagerBase für eine bestimmte Datenquelle zurückzugeben. (Im Beispiel wird davon ausgegangen, dass Sie im Abschnitt Deklarationen des Moduls deklariert myBindingManagerBase haben.) Im Beispiel werden dann Ereignisdelegaten zu den CurrentChanged Ereignissen und PositionChanged hinzugefügt. Schließlich enthält das Beispiel vier Methoden (MoveNext, , MovePreviousMoveFirstund MoveLast), die die Position Eigenschaft inkrementieren oder dekrementieren und auf Position die erste oder letzte Zeile in der Liste festlegen. Die letzte Zeile in der Liste wird mithilfe der Count -Eigenschaft bestimmt.

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

Hinweise

Ermöglicht BindingManagerBase die Synchronisierung von datengebundenen Steuerelementen in einer Windows Form-Datei, die an dieselbe Datenquelle gebunden sind. (Weitere Informationen zum einfachen Binden eines Steuerelements an eine Datenquelle finden Sie in der Binding -Klasse.) Angenommen, ein Formular enthält zwei TextBox Steuerelemente, die an dieselbe Datenquelle, aber an unterschiedliche Spalten gebunden sind. Die Datenquelle kann eine DataTable sein, die Kundennamen enthält, während die Spalten den Vor- und Nachnamen enthalten können. Die beiden Steuerelemente müssen synchronisiert werden, um den richtigen Vor- und Nachnamen zusammen für denselben Kunden anzuzeigen. Die CurrencyManager, die von der BindingManagerBase -Klasse erbt, führt diese Synchronisierung durch, indem ein Zeiger auf das aktuelle Element in der Datenquelle beibehalten wird. Die TextBox Steuerelemente sind an das aktuelle Element gebunden, sodass sie die Informationen für dieselbe Zeile anzeigen. Wenn sich das aktuelle Element ändert, benachrichtigt das CurrencyManager alle gebundenen Steuerelemente, damit sie ihre Daten aktualisieren können. Darüber hinaus können Sie die Position -Eigenschaft festlegen, um die Zeile in der anzugeben, auf die DataTable die Steuerelemente zeigen. Verwenden Sie die -Eigenschaft, um zu bestimmen, wie viele Zeilen in der Count Datenquelle vorhanden sind.

Ist CurrencyManager erforderlich, da Datenquellen nicht notwendigerweise einen aktuellen Elementzeiger beibehalten. Bei instance können Arrays und ArrayList Objekte Datenquellen sein, verfügen aber nicht über eine Eigenschaft, die das aktuelle Element zurückgibt. Verwenden Sie die -Eigenschaft, um das Current aktuelle Element abzurufen.

Der PropertyManager erbt auch von , BindingManagerBaseund es wird verwendet, um die aktuelle Eigenschaft eines -Objekts anstelle der -Eigenschaft eines aktuellen Objekts in einer Datenquelle zu verwalten. Aus diesem Grund hat der Versuch, die Position -Eigenschaft oder Count für ein PropertyManager festzulegen, keine Auswirkung.

Um ein BindingManagerBasezu erstellen, verwenden Sie die BindingContext -Klasse, die abhängig von der zu verwaltenden Datenquelle entweder ein CurrencyManager oder ein PropertyManagerzurückgibt.

Projektmappenprogrammierer werden aufgefordert, Steuerelemente direkt an eine BindingSource Komponente zu binden, die sowohl als Datenquelle als auch als Datenconnector an die tatsächliche Zieldatenquelle fungiert. BindingSource Vereinfacht sowohl die einfache als auch die komplexe Datenbindung erheblich, einschließlich der Verwaltung der Währung zwischen dem Steuerelement und seinem Ziel.

Hinweise für Ausführende

Wenn Sie von erbenBindingManagerBase, müssen Sie die folgenden abstrakten Member überschreiben: AddNew(), , CancelCurrentEdit()Count, Current, , EndCurrentEdit()GetItemProperties(), , OnCurrentChanged(EventArgs), Position, RemoveAt(Int32), ResumeBinding(), , , , SuspendBinding()und UpdateIsBinding().

Konstruktoren

BindingManagerBase()

Initialisiert eine neue Instanz der BindingManagerBase-Klasse.

Felder

onCurrentChangedHandler

Gibt den Ereignishandler für das CurrentChanged-Ereignis an.

onPositionChangedHandler

Gibt den Ereignishandler für das PositionChanged-Ereignis an.

Eigenschaften

Bindings

Ruft die Auflistung verwalteter Bindungen ab.

Count

Ruft beim Überschreiben in einer abgeleiteten Klasse die Anzahl der Zeilen ab, die von der BindingManagerBase verwaltet werden.

Current

Ruft beim Überschreiben in einer abgeleiteten Klasse das aktuelle Objekt ab.

IsBindingSuspended

Ruft einen Wert ab, der angibt, ob die Bindung aufgehoben ist.

Position

Ruft beim Überschreiben in einer abgeleiteten Klasse die Position in der zugrunde liegenden Liste ab, auf die an diese Datenquelle gebundene Steuerelemente verweisen, oder legt diese fest.

Methoden

AddNew()

Fügt beim Überschreiben in einer abgeleiteten Klasse der zugrunde liegenden Liste ein neues Element hinzu.

CancelCurrentEdit()

Bricht beim Überschreiben in einer abgeleiteten Klasse den aktuellen Bearbeitungsvorgang ab.

EndCurrentEdit()

Beendet beim Überschreiben in einer abgeleiteten Klasse den aktuellen Bearbeitungsvorgang.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetItemProperties()

Ruft beim Überschreiben in einer abgeleiteten Klasse die Auflistung von Eigenschaftsbeschreibungen für die Bindung ab.

GetItemProperties(ArrayList, ArrayList)

Ruft mithilfe der angegebenen ArrayList die Auflistung von Eigenschaftenbezeichnern für die Bindung ab.

GetItemProperties(Type, Int32, ArrayList, ArrayList)

Ruft die Liste der Eigenschaften für die Elemente ab, die von dieser BindingManagerBase verwaltet werden.

GetListName(ArrayList)

Ruft beim Überschreiben in einer abgeleiteten Klasse den Namen der Liste ab, die die Daten für die Bindung liefert.

GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
OnBindingComplete(BindingCompleteEventArgs)

Löst das BindingComplete-Ereignis aus.

OnCurrentChanged(EventArgs)

Löst das CurrentChanged-Ereignis aus.

OnCurrentItemChanged(EventArgs)

Löst das CurrentItemChanged-Ereignis aus.

OnDataError(Exception)

Löst das DataError-Ereignis aus.

PullData()

Zieht Daten aus dem datengebundenen Steuerelement in die Datenquelle und gibt dabei keine Informationen zurück.

PushData()

Legt Daten aus der Datenquelle im datengebundenen Steuerelement ab und gibt dabei keine Informationen zurück.

RemoveAt(Int32)

Löscht beim Überschreiben in einer abgeleiteten Klasse die Zeile am angegebenen Index aus der zugrunde liegenden Liste.

ResumeBinding()

Setzt beim Überschreiben in einer abgeleiteten Klasse die Datenbindung fort.

SuspendBinding()

Unterbricht die Datenbindung beim Überschreiben in einer abgeleiteten Klasse.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)
UpdateIsBinding()

Aktualisiert die Bindung beim Überschreiben in einer abgeleiteten Klasse.

Ereignisse

BindingComplete

Tritt nach Abschluss eines Datenbindungsvorgangs ein.

CurrentChanged

Tritt ein, wenn das derzeit gebundene Element geändert wird.

CurrentItemChanged

Tritt ein, wenn sich der Zustand des momentan gebundenen Elements ändert.

DataError

Tritt ein, wenn eine Exception automatisch durch die BindingManagerBase behandelt wird.

PositionChanged

Tritt ein, nachdem sich der Wert der Position-Eigenschaft geändert hat.

Gilt für:

Weitere Informationen