BindingManagerBase BindingManagerBase BindingManagerBase BindingManagerBase Class

Definição

Gerencia todos os objetos Binding associados à mesma fonte de dados e ao mesmo membro de dados.Manages all Binding objects that are bound to the same data source and data member. Esta classe é abstrata.This class is abstract.

public ref class BindingManagerBase abstract
public abstract class BindingManagerBase
type BindingManagerBase = class
Public MustInherit Class BindingManagerBase
Herança
BindingManagerBaseBindingManagerBaseBindingManagerBaseBindingManagerBase
Derivado

Exemplos

O exemplo de código a seguir BindingContext usa o para BindingManagerBase retornar um para uma fonte de dados específica.The following code example uses the BindingContext to return a BindingManagerBase for a specific data source. (O exemplo supõe que você declarou myBindingManagerBase na seção declarações do módulo.) Em seguida, o exemplo adiciona os CurrentChanged delegados de evento aos eventos e. PositionChanged(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 fim, o exemplo contém quatro métodos (MoveNext MoveFirst, MovePrevious, e MoveLast) que incrementam ou decrementam Position a propriedade e definem Position o para a primeira ou a última linha da 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. A última linha da lista é determinada usando a Count propriedade.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

Comentários

O BindingManagerBase habilita a sincronização de controles vinculados a dados em um formulário do Windows que estão associados à mesma fonte de dados.The BindingManagerBase enables the synchronization of data-bound controls on a Windows Form that are bound to the same data source. (Para obter mais informações sobre a vinculação simples de um controle a uma fonte de Binding dados, consulte a classe.) Por exemplo, suponha que um formulário contenha TextBox dois controles associados à mesma fonte de dados, mas a colunas diferentes.(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. A fonte de dados pode ser DataTable um que contenha nomes de clientes, enquanto as colunas podem conter o nome e o sobrenome.The data source might be a DataTable that contains customer names, while the columns might contain the first and last names. Os dois controles devem ser sincronizados para exibir o nome e o sobrenome corretos juntos para o mesmo cliente.The two controls must be synchronized in order to display the correct first and last names together for the same customer. O CurrencyManager, que herda BindingManagerBase da classe, realiza essa sincronização mantendo um ponteiro para o item atual na fonte de dados.The CurrencyManager, which inherits from the BindingManagerBase class, accomplishes this synchronization by maintaining a pointer to the current item in the data source. Os TextBox controles são associados ao item atual para que exibam as informações para a mesma linha.The TextBox controls are bound to the current item so they display the information for the same row. Quando o item atual é alterado, CurrencyManager o notifica todos os controles associados para que eles possam atualizar seus dados.When the current item changes, the CurrencyManager notifies all the bound controls so that they can refresh their data. Além disso, você pode definir Position a propriedade para especificar a linha DataTable no qual os controles apontam.Furthermore, you can set the Position property to specify the row in the DataTable that the controls point to. Para determinar quantas linhas existem na fonte de dados, use a Count propriedade.To determine how many rows exist in the data source, use the Count property.

O CurrencyManager é necessário porque as fontes de dados não mantêm necessariamente um ponteiro de item atual.The CurrencyManager is necessary because data sources do not necessarily maintain a current-item pointer. Por exemplo, matrizes ArrayList e objetos podem ser fontes de dados, mas não têm uma propriedade que retorna o item atual.For instance, arrays and ArrayList objects can be data sources, but they do not have a property that returns the current item. Para obter o item atual, use a Current propriedade.To get the current item, use the Current property.

O PropertyManager também herda BindingManagerBasede e é usado para manter a propriedade atual de um objeto, em vez da propriedade de um objeto atual em uma fonte de dados.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 esse motivo, tentar definir a Position propriedade ou Count para um PropertyManager não tem nenhum efeito.For this reason, trying to set the Position or Count property for a PropertyManager has no effect.

Para criar um BindingManagerBase, use a BindingContext classe, que retorna um CurrencyManager ou um PropertyManager, dependendo da fonte de dados que está sendo gerenciada.To create a BindingManagerBase, use the BindingContext class, which returns either a CurrencyManager or a PropertyManager, depending on the data source being managed.

Os programadores de soluções são incentivados a ligar controles BindingSource diretamente a um componente, que atua como uma fonte de dados e um conector de dados para a fonte de dados 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 muito a vinculação de dados simples e complexa, incluindo o gerenciamento de moeda entre o controle e seu destino.BindingSource greatly simplifies both simple and complex data binding, including managing currency between the control and its target.

Notas aos Herdeiros

Ao herdar do BindingManagerBase, você deve substituir os seguintes membros abstratos AddNew(): Count GetItemProperties(), CancelCurrentEdit() Current OnCurrentChanged(EventArgs) EndCurrentEdit() ,,,RemoveAt(Int32) ,,,, Position , ResumeBinding(),e .UpdateIsBinding() SuspendBinding()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().

Construtores

BindingManagerBase() BindingManagerBase() BindingManagerBase() BindingManagerBase()

Inicializa uma nova instância da classe BindingManagerBase.Initializes a new instance of the BindingManagerBase class.

Campos

onCurrentChangedHandler onCurrentChangedHandler onCurrentChangedHandler onCurrentChangedHandler

Especifica o manipulador de eventos para o evento CurrentChanged.Specifies the event handler for the CurrentChanged event.

onPositionChangedHandler onPositionChangedHandler onPositionChangedHandler onPositionChangedHandler

Especifica o manipulador de eventos para o evento PositionChanged.Specifies the event handler for the PositionChanged event.

Propriedades

Bindings Bindings Bindings Bindings

Obtém a coleção de associações sendo gerenciadas.Gets the collection of bindings being managed.

Count Count Count Count

Quando substituído em uma classe derivada, obtém o número de linhas gerenciadas pelo BindingManagerBase.When overridden in a derived class, gets the number of rows managed by the BindingManagerBase.

Current Current Current Current

Quando substituído em uma classe derivada, obtém o objeto atual.When overridden in a derived class, gets the current object.

IsBindingSuspended IsBindingSuspended IsBindingSuspended IsBindingSuspended

Obtém um valor que indica se a associação está suspensa.Gets a value indicating whether binding is suspended.

Position Position Position Position

Quando substituído em uma classe derivada, obtém ou define a posição na lista subjacente para a qual os controles associados a essa fonte de dados apontam.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() AddNew() AddNew() AddNew()

Quando substituído em uma classe derivada, adiciona um novo item à lista subjacente.When overridden in a derived class, adds a new item to the underlying list.

CancelCurrentEdit() CancelCurrentEdit() CancelCurrentEdit() CancelCurrentEdit()

Quando substituída em uma classe derivada, cancela a edição atual.When overridden in a derived class, cancels the current edit.

EndCurrentEdit() EndCurrentEdit() EndCurrentEdit() EndCurrentEdit()

Ao ser substituído em uma classe derivada, finaliza a edição atual.When overridden in a derived class, ends the current edit.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Serve como a função de hash padrão.Serves as the default hash function.

(Inherited from Object)
GetItemProperties() GetItemProperties() GetItemProperties() GetItemProperties()

Quando substituído em uma classe derivada, obtém a coleção de descritores de propriedade para a associação.When overridden in a derived class, gets the collection of property descriptors for the binding.

GetItemProperties(ArrayList, ArrayList) GetItemProperties(ArrayList, ArrayList) GetItemProperties(ArrayList, ArrayList) GetItemProperties(ArrayList, ArrayList)

Obtém a coleção de descritores de propriedade para a associação usando o ArrayList especificado.Gets the collection of property descriptors for the binding using the specified ArrayList.

GetItemProperties(Type, Int32, ArrayList, ArrayList) GetItemProperties(Type, Int32, ArrayList, ArrayList) GetItemProperties(Type, Int32, ArrayList, ArrayList) GetItemProperties(Type, Int32, ArrayList, ArrayList)

Obtém a lista de propriedades dos itens gerenciados por este BindingManagerBase.Gets the list of properties of the items managed by this BindingManagerBase.

GetListName(ArrayList) GetListName(ArrayList) GetListName(ArrayList) GetListName(ArrayList)

Quando substituído em uma classe derivada, obtém o nome da lista fornecendo os dados para a associação.When overridden in a derived class, gets the name of the list supplying the data for the binding.

GetType() GetType() GetType() GetType()

Obtém o Type da instância atual.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Cria uma cópia superficial do Object atual.Creates a shallow copy of the current Object.

(Inherited from Object)
OnBindingComplete(BindingCompleteEventArgs) OnBindingComplete(BindingCompleteEventArgs) OnBindingComplete(BindingCompleteEventArgs) OnBindingComplete(BindingCompleteEventArgs)

Aciona o evento BindingComplete.Raises the BindingComplete event.

OnCurrentChanged(EventArgs) OnCurrentChanged(EventArgs) OnCurrentChanged(EventArgs) OnCurrentChanged(EventArgs)

Aciona o evento CurrentChanged.Raises the CurrentChanged event.

OnCurrentItemChanged(EventArgs) OnCurrentItemChanged(EventArgs) OnCurrentItemChanged(EventArgs) OnCurrentItemChanged(EventArgs)

Aciona o evento CurrentItemChanged.Raises the CurrentItemChanged event.

OnDataError(Exception) OnDataError(Exception) OnDataError(Exception) OnDataError(Exception)

Aciona o evento DataError.Raises the DataError event.

PullData() PullData() PullData() PullData()

Efetua o pull de dados do controle associado a dados para a fonte de dados, não retornando nenhuma informação.Pulls data from the data-bound control into the data source, returning no information.

PushData() PushData() PushData() PushData()

Efetua o push de dados da fonte de dados para o controle associado a dados, não retornando nenhuma informação.Pushes data from the data source into the data-bound control, returning no information.

RemoveAt(Int32) RemoveAt(Int32) RemoveAt(Int32) RemoveAt(Int32)

Quando substituída em uma classe derivada, exclui a linha no índice especificado da lista subjacente.When overridden in a derived class, deletes the row at the specified index from the underlying list.

ResumeBinding() ResumeBinding() ResumeBinding() ResumeBinding()

Quando substituído em uma classe derivada, retoma a vinculação de dados.When overridden in a derived class, resumes data binding.

SuspendBinding() SuspendBinding() SuspendBinding() SuspendBinding()

Quando substituído em uma classe derivada, suspende a vinculação de dados.When overridden in a derived class, suspends data binding.

ToString() ToString() ToString() ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.Returns a string that represents the current object.

(Inherited from Object)
UpdateIsBinding() UpdateIsBinding() UpdateIsBinding() UpdateIsBinding()

Quando substituído em uma classe derivada, atualiza a associação.When overridden in a derived class, updates the binding.

Eventos

BindingComplete BindingComplete BindingComplete BindingComplete

Ocorre após a conclusão de uma operação de associação de dados.Occurs at the completion of a data-binding operation.

CurrentChanged CurrentChanged CurrentChanged CurrentChanged

Ocorre quando o item associado no momento é alterado.Occurs when the currently bound item changes.

CurrentItemChanged CurrentItemChanged CurrentItemChanged CurrentItemChanged

Ocorre quando o estado do item associado no momento é alterado.Occurs when the state of the currently bound item changes.

DataError DataError DataError DataError

Ocorre quando uma Exception é manipulada silenciosamente pelo BindingManagerBase.Occurs when an Exception is silently handled by the BindingManagerBase.

PositionChanged PositionChanged PositionChanged PositionChanged

Ocorre depois que o valor da propriedade Position é alterado.Occurs after the value of the Position property has changed.

Aplica-se a

Veja também