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 ovládací prvek 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 změnilo schéma dat; 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ách. Položka je odebrána ze seznamu 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 tématu Postupy: Reflektování zdroje dat Aktualizace v ovládacím prvku model Windows Forms pomocí 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 hodnotu, aby aktualizovaly jejich hodnoty. Metoda to provede tak, že ListChanged alespoň jednou vyvolá událost; metaDataChanged
parametr označuje povahu podkladové změny.
Hodnota
metaDataChanged
označujetrue
, že se změnilo schéma BindingSource dat. Vyvolá ListChanged se událost s nastavenou ListChangedEventArgs.ListChangedType na ListChangedType.PropertyDescriptorChanged.Hodnota
metaDataChanged
označujefalse
, že se změnily pouze hodnoty jedné nebo více položek.
Bez ohledu na hodnotu je metaDataChanged
ListChanged událost vyvolána s nastavenou ListChangedEventArgs.ListChangedType hodnotou ListChangedType.Reset. V důsledku toho volání ResetBindings s parametrem of true
vyvolá dvě ListChanged události.
ResetBindings je automaticky volána vždy, když jiný člen provede významné změny datové vazby, například nastavení DataSource vlastností nebo DataMember . Programátor však může také volat tuto metodu explicitně.