BindingSource.ResetBindings(Boolean) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Вызывает в элементе управления, привязанном к компоненту BindingSource, повторное считывание всех элементов списка и обновление их отображаемых значений.
public:
void ResetBindings(bool metadataChanged);
public void ResetBindings (bool metadataChanged);
member this.ResetBindings : bool -> unit
Public Sub ResetBindings (metadataChanged As Boolean)
Параметры
- metadataChanged
- Boolean
Значение true
, если изменилась схема данных, и значение false
, если изменились только значения.
Примеры
В следующем примере кода используется BindingSource компонент для привязки списка массивов, который не предоставляет уведомления об изменениях. Элемент удаляется из списка, а привязанные элементы управления получают уведомление об изменении путем вызова ResetBindings метода . Этот пример кода является частью более крупного примера, приведенного в разделе Практическое руководство. Отражение источника данных Обновления в элементе управления Windows Forms с помощью 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
Комментарии
Метод ResetBindings сообщает всем элементам управления, привязанным к , BindingSource чтобы обновить свои значения. Метод делает это, вызывая ListChanged событие по крайней metaDataChanged
мере один раз; параметр указывает характер базового изменения.
Значение
metaDataChanged
true
указывает, что схема данных объекта BindingSource изменилась. Событие ListChanged вызывается с ListChangedEventArgs.ListChangedType значением ListChangedType.PropertyDescriptorChanged.Значение
metaDataChanged
false
указывает, что изменились только значения одного или нескольких элементов.
Независимо от значения metaDataChanged
, ListChanged событие вызывается с ListChangedEventArgs.ListChangedType заданным значением ListChangedType.Reset. Как следствие, вызов ResetBindings с параметром будет true
вызывать два ListChanged события.
ResetBindings вызывается автоматически, когда другой член вносит существенные изменения в привязку данных, например при задании DataSource свойств или DataMember . Однако программист также может вызвать этот метод явным образом.