BindingSource.ResetBindings(Boolean) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Faz com que um controlo atribuído a releia BindingSource todos os itens da lista e atualize os seus valores apresentados.
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 mudado; false Se ao menos os valores tivessem mudado.
Exemplos
O exemplo de código seguinte utiliza um BindingSource componente para ligar uma lista de arrays, que não fornece notificação de alteração. Um item é removido da lista, e os controlos vinculados são notificados da alteração chamando o ResetBindings método. Este exemplo de código faz parte de um exemplo maior fornecido em Como: Refletir Atualizações da Fonte de Dados num Controlo Windows Forms com o 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
Observações
O ResetBindings método informa todos os controlos vinculados ao BindingSource para atualizarem os seus valores. O método faz isto elevando o ListChanged evento pelo menos uma vez; o metaDataChanged parâmetro indica a natureza da alteração subjacente.
Um
metaDataChangedvalor detrueindica que o esquema de dados de BindingSource mudou. Um ListChanged evento é elevado com ListChangedEventArgs.ListChangedType definido para ListChangedType.PropertyDescriptorChanged.Um
metaDataChangedvalor defalseindica que apenas os valores de um ou mais itens mudaram.
Independentemente do valor de metaDataChanged, um ListChanged evento é elevado com ListChangedEventArgs.ListChangedType definido para ListChangedType.Reset. Como consequência, chamar ResetBindings com um parâmetro de true gerará dois ListChanged eventos.
ResetBindingsé chamada automaticamente sempre que outro membro faz alterações significativas à ligação de dados, como definir as DataSource propriedades ou.DataMember No entanto, o programador também pode chamar este método explicitamente.