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 方法通知绑定控件更改。 此代码示例是如何使用 BindingSource 在Windows 窗体控件中反映数据源汇报中提供的更大示例的一部分。

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如何,都会引发事件, ListChanged 并将 ListChangedEventArgs.ListChangedType 设置为 ListChangedType.Reset。 因此,使用 参数调用 ResetBindingstrue 将引发两 ListChanged 个事件。

ResetBindings 每当另一个成员对数据绑定进行重大更改(例如设置 DataSourceDataMember 属性)时,都会自动调用 。 但是,程序员也可以显式调用此方法。

适用于

另请参阅