BindingSource.ResetBindings(Boolean) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Führt dazu, dass in ein an BindingSource gebundenes Steuerelement alle Elemente in der Liste erneut eingelesen und ihre angezeigten Werte aktualisiert werden.
public:
void ResetBindings(bool metadataChanged);
public void ResetBindings (bool metadataChanged);
member this.ResetBindings : bool -> unit
Public Sub ResetBindings (metadataChanged As Boolean)
Parameter
- metadataChanged
- Boolean
true
, wenn sich das Datenschema geändert hat, false
, wenn sich nur Werte geändert haben.
Beispiele
Im folgenden Codebeispiel wird eine BindingSource Komponente verwendet, um eine Arrayliste zu binden, die keine Änderungsbenachrichtigung bereitstellt. Ein Element wird aus der Liste entfernt, und die gebundenen Steuerelemente werden über die Änderung durch Aufrufen der ResetBindings -Methode benachrichtigt. Dieses Codebeispiel ist Teil eines größeren Beispiels unter 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
Hinweise
Die ResetBindings -Methode informiert alle steuerelemente, die an das gebunden sind, BindingSource ihre Werte zu aktualisieren. Die -Methode bewirkt dies, indem das ListChanged Ereignis mindestens einmal ausgelöst wird. Der metaDataChanged
Parameter gibt die Art der zugrunde liegenden Änderung an.
Der
metaDataChanged
Wert gibttrue
an, dass sich das Datenschema von BindingSource geändert hat. Ein ListChanged Ereignis wird ausgelöst, wobei ListChangedEventArgs.ListChangedType auf ListChangedType.PropertyDescriptorChangedfestgelegt ist.Der
metaDataChanged
Wert vonfalse
gibt an, dass sich nur die Werte eines oder mehrerer Elemente geändert haben.
Unabhängig vom Wert von metaDataChanged
wird ein ListChanged Ereignis ausgelöst, das ListChangedEventArgs.ListChangedType auf ListChangedType.Resetfestgelegt ist. Folglich löst das Aufrufen ResetBindings mit einem Parameter von true
zwei ListChanged Ereignisse aus.
ResetBindingswird automatisch aufgerufen, wenn ein anderes Element wichtige Änderungen an der Datenbindung vornimmt, z. B. das Festlegen der - oder DataMember -DataSourceEigenschaften. Der Programmierer kann diese Methode jedoch auch explizit aufrufen.