BindingSource.ResetBindings(Boolean) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Orsakar en kontroll som är bunden till BindingSource för att läsa om alla objekt i listan och uppdatera deras visade värden.
public:
void ResetBindings(bool metadataChanged);
public void ResetBindings(bool metadataChanged);
member this.ResetBindings : bool -> unit
Public Sub ResetBindings (metadataChanged As Boolean)
Parametrar
- metadataChanged
- Boolean
true om dataschemat har ändrats. false om endast värden har ändrats.
Exempel
I följande kodexempel används en BindingSource komponent för att binda en matrislista, som inte tillhandahåller ändringsmeddelande. Ett objekt tas bort från listan och de bundna kontrollerna meddelas om ändringen genom att anropa ResetBindings metoden. Det här kodexemplet är en del av ett större exempel i Hur du: Återspegla uppdateringar av datakällor i en Windows Forms-kontroll med 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
Kommentarer
Metoden ResetBindings informerar alla kontroller som BindingSource är bundna till för att uppdatera sina värden. Metoden gör detta genom att höja ListChanged händelsen minst en gång. Parametern metaDataChanged anger den underliggande ändringens natur.
metaDataChangedVärdettrueför anger att dataschemat BindingSource för har ändrats. En ListChanged händelse aktiveras med ListChangedEventArgs.ListChangedType inställt på ListChangedType.PropertyDescriptorChanged.metaDataChangedVärdetfalseanger att endast värdena för ett eller flera objekt har ändrats.
Oavsett värdet för genereras metaDataChangeden ListChanged händelse med ListChangedEventArgs.ListChangedType värdet ListChangedType.Reset. Därför genererar anrop ResetBindings med parametern för true två ListChanged händelser.
ResetBindings anropas automatiskt när en annan medlem gör större ändringar i databindningen, till exempel om du anger DataSource egenskaperna eller DataMember . Programmeraren kan dock också uttryckligen kalla den här metoden.