BindingSource.ResetBindings(Boolean) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Zorgt ervoor dat een besturingselement dat afhankelijk is van het BindingSource opnieuw lezen van alle items in de lijst en het vernieuwen van de weergegeven waarden.
public:
void ResetBindings(bool metadataChanged);
public void ResetBindings(bool metadataChanged);
member this.ResetBindings : bool -> unit
Public Sub ResetBindings (metadataChanged As Boolean)
Parameters
- metadataChanged
- Boolean
true als het gegevensschema is gewijzigd; false als alleen de waarden zijn gewijzigd.
Voorbeelden
In het volgende codevoorbeeld wordt een onderdeel gebruikt om een BindingSource matrixlijst te binden, die geen wijzigingsmelding biedt. Een item wordt verwijderd uit de lijst en de afhankelijke besturingselementen worden op de hoogte gesteld van de wijziging door de methode aan te ResetBindings roepen. Dit codevoorbeeld maakt deel uit van een groter voorbeeld in Hoe to: Gegevensbronupdates weergeven in een Windows Forms-besturingselement met 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
Opmerkingen
De ResetBindings methode informeert alle besturingselementen die aan de BindingSource besturingselementen zijn gebonden om hun waarden te vernieuwen. De methode doet dit door de ListChanged gebeurtenis ten minste één keer op te halen; de metaDataChanged parameter geeft de aard van de onderliggende wijziging aan.
Een
metaDataChangedwaarde vantruegeeft aan dat het gegevensschema is BindingSource gewijzigd. Een ListChanged gebeurtenis wordt gegenereerd met ListChangedEventArgs.ListChangedType ingesteld op ListChangedType.PropertyDescriptorChanged.Een
metaDataChangedwaarde vanfalsegeeft aan dat alleen de waarden van een of meer items zijn gewijzigd.
Ongeacht de waarde van metaDataChanged, wordt een ListChanged gebeurtenis gegenereerd met ListChangedEventArgs.ListChangedType de waarde ingesteld op ListChangedType.Reset. Als gevolg hiervan genereert het aanroepen ResetBindings met een parameter van true twee ListChanged gebeurtenissen.
ResetBindings wordt automatisch aangeroepen wanneer een ander lid belangrijke wijzigingen aanbrengt in de gegevensbinding, zoals het instellen van de DataSource of DataMember eigenschappen. De programmeur kan deze methode echter ook expliciet aanroepen.