BindingSource.ResetBindings(Boolean) Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Způsobí, že ovládací prvek vázaný na BindingSource znovu načte všechny položky v seznamu a aktualizuje jejich zobrazené hodnoty.
public:
void ResetBindings(bool metadataChanged);
public void ResetBindings(bool metadataChanged);
member this.ResetBindings : bool -> unit
Public Sub ResetBindings (metadataChanged As Boolean)
Parametry
- metadataChanged
- Boolean
true pokud se schéma dat změnilo; false pokud se změnily pouze hodnoty.
Příklady
Následující příklad kódu používá komponentu BindingSource k vytvoření vazby seznamu polí, který neposkytuje oznámení o změně. Položka je ze seznamu odebrána a vázané ovládací prvky jsou upozorněny na změnu voláním ResetBindings metody. Tento příklad kódu je součástí většího příkladu uvedeného v How to: Reflect Data Source Updates in a model 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
Poznámky
Metoda ResetBindings informuje všechny ovládací prvky vázané na BindingSource aktualizaci jejich hodnot. Metoda to provede vyvoláním ListChanged události alespoň jednou; metaDataChanged parametr označuje povahu podkladové změny.
Hodnota
metaDataChangedtrueznačí, že se změnilo schéma BindingSource dat. Událost ListChanged je vyvolána se ListChangedEventArgs.ListChangedType nastavenou na ListChangedType.PropertyDescriptorChangedhodnotu .Hodnota
metaDataChangedfalseoznačuje, že se změnily pouze hodnoty jedné nebo více položek.
Bez ohledu na hodnotu metaDataChanged, ListChanged událost je vyvolána s ListChangedEventArgs.ListChangedType nastavenou na ListChangedType.Reset. V důsledku toho volání ResetBindings s parametrem true vyvolá dvě ListChanged události.
ResetBindings je volána automaticky, kdykoli jiný člen provede významné změny datové vazby, například nastavení DataSource nebo DataMember vlastnosti. Programátor však může tuto metodu také explicitně volat.