BindingSource.ResetBindings(Boolean) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Powoduje, że kontrolka powiązana z elementem BindingSource , aby ponownie odczytać wszystkie elementy na liście i odświeżyć wyświetlane wartości.
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
w przypadku zmiany schematu danych; false
jeśli tylko wartości uległy zmianie.
Przykłady
Poniższy przykład kodu używa BindingSource składnika do powiązania listy tablicy, która nie udostępnia powiadomienia o zmianie. Element jest usuwany z listy, a powiązane kontrolki są powiadamiane o zmianie przez wywołanie ResetBindings metody . Ten przykład kodu jest częścią większego przykładu przedstawionego w temacie How to: Reflect Data Source Aktualizacje in a Windows Forms Control with the BindingSource (Jak odzwierciedlić źródło danych Aktualizacje w kontrolce Windows Forms za pomocą elementu 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
Uwagi
Metoda ResetBindings informuje wszystkie kontrolki powiązane z elementem , BindingSource aby odświeżyć ich wartości. Metoda wykonuje to przez wywołanie ListChanged zdarzenia co najmniej raz; metaDataChanged
parametr wskazuje charakter podstawowej zmiany.
Wartość
metaDataChanged
wskazujetrue
, że schemat danych elementu BindingSource został zmieniony. Zdarzenie ListChanged jest wywoływane z ustawioną wartością ListChangedEventArgs.ListChangedTypeListChangedType.PropertyDescriptorChanged.Wartość
metaDataChanged
wskazujefalse
, że tylko wartości co najmniej jednego elementu uległy zmianie.
Niezależnie od wartości metaDataChanged
, zdarzenie jest wywoływane z ustawioną wartością ListChangedType.ResetListChangedEventArgs.ListChangedType .ListChanged W związku z tym wywołanie parametru z parametrem true
spowoduje wywołanie ResetBindings dwóch ListChanged zdarzeń.
ResetBindings jest wywoływany automatycznie za każdym razem, gdy inny element członkowski wprowadza istotne zmiany w powiązaniu danych, takie jak ustawienie DataSource właściwości lub DataMember . Jednak programista może również jawnie wywołać tę metodę.