BindingSource.ResetBindings(Boolean) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Faz com que um controle associado à BindingSource releitura de todos os itens da lista e atualize seus valores exibidos.
public:
void ResetBindings(bool metadataChanged);
public void ResetBindings(bool metadataChanged);
member this.ResetBindings : bool -> unit
Public Sub ResetBindings (metadataChanged As Boolean)
Parâmetros
- metadataChanged
- Boolean
true se o esquema de dados tiver sido alterado; false se apenas os valores tiverem sido alterados.
Exemplos
O exemplo de código a seguir usa um BindingSource componente para associar uma lista de matrizes, que não fornece notificação de alteração. Um item é removido da lista e os controles associados são notificados sobre a alteração chamando o ResetBindings método. Este exemplo de código faz parte de um exemplo maior fornecido em How to: Reflect Data Source Updates in a Windows Forms Control with the BindingSource.
private:
void button1_Click( Object^ /*sender*/, EventArgs^ /*e*/ )
{
String^ xml = "<US><states>"
+ "<state><name>Washington</name><capital>Olympia</capital> "
+ "<flower>Coast Rhododendron</flower></state>"
+ "<state><name>Oregon</name><capital>Salem</capital>"
+ "<flower>Oregon Grape</flower></state>"
+ "<state><name>California</name><capital>Sacramento</capital>"
+ "<flower>California Poppy</flower></state>"
+ "<state><name>Nevada</name><capital>Carson City</capital>"
+ "<flower>Sagebrush</flower></state>"
+ "</states></US>";
// Convert the xml string to bytes and load into a memory stream.
array<Byte>^ xmlBytes = Encoding::UTF8->GetBytes( xml );
MemoryStream^ stream = gcnew MemoryStream( xmlBytes,false );
// Create a DataSet and load the xml into it.
dataSet2->ReadXml( stream );
// Set the data source.
bindingSource1->DataSource = dataSet2;
bindingSource1->ResetBindings( true );
}
private void button1_Click(object sender, EventArgs e)
{
// If items remain in the list, remove the first item.
if (states.Count > 0)
{
states.RemoveAt(0);
// Call ResetBindings to update the textboxes.
bindingSource1.ResetBindings(false);
}
}
Private Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs) _
Handles button1.Click
' If items remain in the list, remove the first item.
If states.Count > 0 Then
states.RemoveAt(0)
' Call ResetBindings to update the textboxes.
bindingSource1.ResetBindings(False)
End If
End Sub
Comentários
O ResetBindings método informa todos os controles associados à BindingSource atualização de seus valores. O método faz isso levantando o ListChanged evento pelo menos uma vez; o metaDataChanged parâmetro indica a natureza da alteração subjacente.
Um
metaDataChangedvalor indicatrueque o esquema de dados foi BindingSource alterado. Um ListChanged evento é gerado com ListChangedEventArgs.ListChangedType definido como ListChangedType.PropertyDescriptorChanged.Um
metaDataChangedvalor indicafalseque apenas os valores de um ou mais itens foram alterados.
Independentemente do valor de metaDataChanged, um ListChanged evento é gerado com ListChangedEventArgs.ListChangedType definido como ListChangedType.Reset. Como consequência, a chamada ResetBindings com um parâmetro de true gerará dois ListChanged eventos.
ResetBindingsé chamado automaticamente sempre que outro membro faz alterações importantes na associação de dados, como definir as propriedades ou DataMember as DataSource propriedades. No entanto, o programador também pode chamar esse método explicitamente.