BindingSource.ResetBindings(Boolean) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Fa sì che un controllo associato all'oggetto BindingSource esegua la rilettura di tutti gli elementi dell'elenco e aggiorni i relativi valori visualizzati.
public:
void ResetBindings(bool metadataChanged);
public void ResetBindings (bool metadataChanged);
member this.ResetBindings : bool -> unit
Public Sub ResetBindings (metadataChanged As Boolean)
Parametri
- metadataChanged
- Boolean
true
se è stato modificato lo schema dati; false
se sono stati modificati soltanto i valori.
Esempio
Nell'esempio di codice seguente viene usato un BindingSource componente per associare un elenco di matrici, che non fornisce una notifica di modifica. Un elemento viene rimosso dall'elenco e i controlli associati ricevono una notifica della modifica chiamando il ResetBindings metodo . Questo esempio di codice fa parte di un esempio più ampio fornito in Procedura: Riflettere l'origine dati Aggiornamenti in un controllo Windows Forms con 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
Commenti
Il ResetBindings metodo informa tutti i controlli associati a BindingSource per aggiornare i relativi valori. Il metodo esegue questa operazione generando l'evento ListChanged almeno una volta. Il metaDataChanged
parametro indica la natura della modifica sottostante.
Il
metaDataChanged
valoretrue
indica che lo schema dei dati di BindingSource è stato modificato. Viene generato un ListChanged evento con ListChangedEventArgs.ListChangedType impostato su ListChangedType.PropertyDescriptorChanged.Il
metaDataChanged
valorefalse
indica che sono stati modificati solo i valori di uno o più elementi.
Indipendentemente dal valore di metaDataChanged
, viene generato un ListChanged evento con ListChangedEventArgs.ListChangedType impostato su ListChangedType.Reset. Di conseguenza, la chiamata ResetBindings con un parametro di true
genererà due ListChanged eventi.
ResetBindings viene chiamato automaticamente ogni volta che un altro membro apporta modifiche importanti al data binding, ad esempio l'impostazione delle DataSource proprietà o DataMember . Tuttavia, il programmatore può anche chiamare questo metodo in modo esplicito.