BindingManagerBase Clase

Definición

Administra todos los objetos Binding enlazados al mismo origen y miembro de datos.Manages all Binding objects that are bound to the same data source and data member. Esta clase es abstracta.This class is abstract.

public ref class BindingManagerBase abstract
public abstract class BindingManagerBase
type BindingManagerBase = class
Public MustInherit Class BindingManagerBase
Herencia
BindingManagerBase
Derivado

Ejemplos

BindingContext En el ejemplo de código siguiente se utiliza para BindingManagerBase devolver un para un origen de datos concreto.The following code example uses the BindingContext to return a BindingManagerBase for a specific data source. (En el ejemplo se da por myBindingManagerBase supuesto que se ha declarado en la sección declaraciones del módulo). A continuación, en el ejemplo se agregan PositionChanged delegados de eventos a los CurrentChanged eventos y.(The example assumes you have declared myBindingManagerBase in the Declarations section of the module.) The example then adds event delegates to the CurrentChanged and PositionChanged events. Por último, el ejemplo contiene cuatro métodos (MoveNext, MovePrevious, MoveFirsty MoveLast Position ) que aumentan o disminuyen la Position propiedad y establecen en la primera o la última fila de la lista.Lastly, the example contains four methods (MoveNext, MovePrevious, MoveFirst, and MoveLast) that increment or decrement the Position property, and set the Position to the first or last row in the list. La última fila de la lista se determina mediante la Count propiedad.The last row in the list is determined by using the Count property.

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

Comentarios

BindingManagerBase Habilita la sincronización de controles enlazados a datos en un Windows Form que están enlazados al mismo origen de datos.The BindingManagerBase enables the synchronization of data-bound controls on a Windows Form that are bound to the same data source. (Para obtener más información sobre cómo enlazar un control a un origen de datos Binding , vea la clase). Por ejemplo, supongamos que un formulario TextBox contiene dos controles que están enlazados al mismo origen de datos pero a diferentes columnas.(For more information about simple binding a control to a data source, see the Binding class.) For example, suppose that a form contains two TextBox controls that are bound to the same data source but to different columns. El origen de datos podría ser DataTable un que contiene nombres de cliente, mientras que las columnas pueden contener el nombre y los apellidos.The data source might be a DataTable that contains customer names, while the columns might contain the first and last names. Los dos controles deben estar sincronizados para mostrar el nombre y los apellidos correctos juntos para el mismo cliente.The two controls must be synchronized in order to display the correct first and last names together for the same customer. , Que hereda de la BindingManagerBase clase, realiza esta sincronización manteniendo un puntero al elemento actual en el origen de datos. CurrencyManagerThe CurrencyManager, which inherits from the BindingManagerBase class, accomplishes this synchronization by maintaining a pointer to the current item in the data source. Los TextBox controles se enlazan al elemento actual para que muestren la información de la misma fila.The TextBox controls are bound to the current item so they display the information for the same row. Cuando el elemento actual cambia, CurrencyManager notifica a todos los controles enlazados para que puedan actualizar sus datos.When the current item changes, the CurrencyManager notifies all the bound controls so that they can refresh their data. Además, puede establecer la Position propiedad para especificar la fila DataTable de a la que apuntan los controles.Furthermore, you can set the Position property to specify the row in the DataTable that the controls point to. Para determinar el número de filas que existen en el origen de datos Count , utilice la propiedad.To determine how many rows exist in the data source, use the Count property.

Es CurrencyManager necesario porque los orígenes de datos no mantienen necesariamente un puntero de elemento actual.The CurrencyManager is necessary because data sources do not necessarily maintain a current-item pointer. Por ejemplo, las matrices y ArrayList los objetos pueden ser orígenes de datos, pero no tienen una propiedad que devuelve el elemento actual.For instance, arrays and ArrayList objects can be data sources, but they do not have a property that returns the current item. Para obtener el elemento actual, use la Current propiedad.To get the current item, use the Current property.

PropertyManager También heredaBindingManagerBasede, y se usa para mantener la propiedad actual de un objeto, en lugar de la propiedad de un objeto actual en un origen de datos.The PropertyManager also inherits from the BindingManagerBase, and it is used to maintain the current property of an object, rather than the property of a current object in a data source. Por esta razón, el intento de establecer Position la Count propiedad o de PropertyManager un no tiene ningún efecto.For this reason, trying to set the Position or Count property for a PropertyManager has no effect.

Para crear BindingManagerBase, use la BindingContext clase CurrencyManager , que PropertyManagerdevuelve o, dependiendo del origen de datos que se está administrando.To create a BindingManagerBase, use the BindingContext class, which returns either a CurrencyManager or a PropertyManager, depending on the data source being managed.

Se recomienda a los programadores de soluciones que enlacen BindingSource controles directamente a un componente, que actúa como un origen de datos y un conector de datos para el origen de datos de destino real.Solutions programmers are encouraged to bind controls directly to a BindingSource component, which acts as both a data source and data connector to the actual target data source. BindingSourcesimplifica considerablemente el enlace de datos simple y complejo, incluida la administración de la moneda entre el control y su destino.BindingSource greatly simplifies both simple and complex data binding, including managing currency between the control and its target.

Notas a los desarrolladores de herederos

Al heredar de BindingManagerBase, debe reemplazar los miembros abstractos siguientes: AddNew(), Count, CancelCurrentEdit(), Current, EndCurrentEdit(), GetItemProperties(), OnCurrentChanged(EventArgs), Position, RemoveAt(Int32) , ResumeBinding(), SuspendBinding()y .UpdateIsBinding()When you inherit from BindingManagerBase, you must override the following abstract members: AddNew(), Count, CancelCurrentEdit(), Current, EndCurrentEdit(), GetItemProperties(), OnCurrentChanged(EventArgs), Position, RemoveAt(Int32), ResumeBinding(), SuspendBinding(), and UpdateIsBinding().

Constructores

BindingManagerBase()

Inicializa una nueva instancia de la clase BindingManagerBase.Initializes a new instance of the BindingManagerBase class.

Campos

onCurrentChangedHandler

Especifica el controlador de eventos para el evento CurrentChanged.Specifies the event handler for the CurrentChanged event.

onPositionChangedHandler

Especifica el controlador de eventos para el evento PositionChanged.Specifies the event handler for the PositionChanged event.

Propiedades

Bindings

Obtiene la colección de enlaces que se administra.Gets the collection of bindings being managed.

Count

Si se reemplaza en una clase derivada, obtiene el número de filas administradas por la clase BindingManagerBase.When overridden in a derived class, gets the number of rows managed by the BindingManagerBase.

Current

Cuando se reemplaza en una clase derivada, se obtiene el objeto actual.When overridden in a derived class, gets the current object.

IsBindingSuspended

Obtiene un valor que indica si el enlace se ha suspendido.Gets a value indicating whether binding is suspended.

Position

Cuando se reemplaza en una clase derivada, se obtiene o establece la posición de la lista subyacente a la que señalan los controles enlazados a este origen de datos.When overridden in a derived class, gets or sets the position in the underlying list that controls bound to this data source point to.

Métodos

AddNew()

Cuando se reemplaza en una clase derivada, se agrega un nuevo elemento a la lista subyacente.When overridden in a derived class, adds a new item to the underlying list.

CancelCurrentEdit()

Cuando se reemplaza en una clase derivada, se cancela la edición actual.When overridden in a derived class, cancels the current edit.

EndCurrentEdit()

Cuando se reemplaza en una clase derivada, finaliza la edición actual.When overridden in a derived class, ends the current edit.

Equals(Object)

Determina si el objeto especificado es igual al objeto actual.Determines whether the specified object is equal to the current object.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.Serves as the default hash function.

(Heredado de Object)
GetItemProperties()

Cuando se reemplaza en una clase derivada, se obtiene la colección de descriptores de propiedades para el enlace.When overridden in a derived class, gets the collection of property descriptors for the binding.

GetItemProperties(ArrayList, ArrayList)

Obtiene la colección de descriptores de propiedades para el enlace con el objeto ArrayList especificado.Gets the collection of property descriptors for the binding using the specified ArrayList.

GetItemProperties(Type, Int32, ArrayList, ArrayList)

Obtiene la lista de propiedades de los elementos administrados por BindingManagerBase.Gets the list of properties of the items managed by this BindingManagerBase.

GetListName(ArrayList)

Cuando se reemplaza en una clase derivada, se obtiene el nombre de la lista que suministra los datos para el enlace.When overridden in a derived class, gets the name of the list supplying the data for the binding.

GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del objeto Object actual.Creates a shallow copy of the current Object.

(Heredado de Object)
OnBindingComplete(BindingCompleteEventArgs)

Genera el evento BindingComplete.Raises the BindingComplete event.

OnCurrentChanged(EventArgs)

Genera el evento CurrentChanged.Raises the CurrentChanged event.

OnCurrentItemChanged(EventArgs)

Genera el evento CurrentItemChanged.Raises the CurrentItemChanged event.

OnDataError(Exception)

Genera el evento DataError.Raises the DataError event.

PullData()

Extrae datos del control con enlace a datos y los aplica al origen de datos, y no devuelve ninguna información.Pulls data from the data-bound control into the data source, returning no information.

PushData()

Extrae datos del origen de datos en el control con enlace a datos, y no devuelve ninguna información.Pushes data from the data source into the data-bound control, returning no information.

RemoveAt(Int32)

Cuando se reemplaza en una clase derivada, se elimina la fila en el índice especificado de la lista subyacente.When overridden in a derived class, deletes the row at the specified index from the underlying list.

ResumeBinding()

Cuando se reemplaza en una clase derivada, se reanuda el enlace de datos.When overridden in a derived class, resumes data binding.

SuspendBinding()

Cuando se reemplaza en una clase derivada, se suspende el enlace de datos.When overridden in a derived class, suspends data binding.

ToString()

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Heredado de Object)
UpdateIsBinding()

Cuando se reemplaza en una clase derivada, se actualiza el enlace.When overridden in a derived class, updates the binding.

Eventos

BindingComplete

Se produce cuando finaliza una operación de enlace de datos.Occurs at the completion of a data-binding operation.

CurrentChanged

Se produce cuando cambia el elemento enlazado actualmente.Occurs when the currently bound item changes.

CurrentItemChanged

Se produce cuando el estado del elemento enlazado actualmente cambia.Occurs when the state of the currently bound item changes.

DataError

Se produce cuando Exception controla silenciosamente BindingManagerBase.Occurs when an Exception is silently handled by the BindingManagerBase.

PositionChanged

Se produce después de haber cambiado el valor de la propiedad Position.Occurs after the value of the Position property has changed.

Se aplica a

Consulte también: