BindingSource.ResetBindings(Boolean) BindingSource.ResetBindings(Boolean) BindingSource.ResetBindings(Boolean) BindingSource.ResetBindings(Boolean) Method

定義

BindingSource にバインドされたコントロールに対し、リスト内のすべての項目を再度読み込んで表示値を更新するよう通知します。Causes a control bound to the BindingSource to reread all the items in the list and refresh their displayed values.

public:
 void ResetBindings(bool metadataChanged);
public void ResetBindings (bool metadataChanged);
member this.ResetBindings : bool -> unit
Public Sub ResetBindings (metadataChanged As Boolean)

パラメーター

metadataChanged
Boolean Boolean Boolean Boolean

データ スキーマが変更された場合は true。値のみが変更された場合は falsetrue if the data schema has changed; false if only values have changed.

次のコード例ではBindingSource 、コンポーネントを使用して、変更通知を提供しない配列リストをバインドしています。The following code example uses a BindingSource component to bind an array list, which does not provide change notification. 項目がリストから削除され、バインドされたコントロールにResetBindingsメソッドを呼び出すことによって変更が通知されます。An item is removed from the list, and the bound controls are notified of the change by calling the ResetBindings method. このコード例は、次の方法で提供される大規模な例の一部です。BindingSourceを使用して Windows フォームコントロールのデータソースの更新を反映します。This code example is part of a larger example provided in How to: Reflect Data Source Updates in a 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 'button1_Click

注釈

メソッドResetBindingsは、にバインドされてBindingSourceいるすべてのコントロールに対して、値を更新するように通知します。The ResetBindings method informs all controls bound to the BindingSource to refresh their values. このメソッドは、イベントをListChanged少なくとも1回発生させてこれを実行します。パラメーターはmetaDataChanged 、基になる変更の性質を示します。The method does this by raising the ListChanged event at least once; the metaDataChanged parameter indicates the nature of the underlying change.

metaDataChanged値に関係なくListChanged 、がにListChangedType.Reset設定されListChangedEventArgs.ListChangedTypeた状態でイベントが発生します。Regardless of the value of metaDataChanged, a ListChanged event is raised with ListChangedEventArgs.ListChangedType set to ListChangedType.Reset. 結果として、 ResetBindingsのパラメーターを指定trueしてをListChanged呼び出すと、2つのイベントが発生します。As a consequence, calling ResetBindings with a parameter of true will raise two ListChanged events.

ResetBindingsまたはDataSource DataMemberプロパティの設定など、別のメンバーがデータバインディングに大きな変更を加えるたびに、が自動的に呼び出されます。ResetBindings is automatically called whenever another member makes major changes to the data-binding, such as setting the DataSource or DataMember properties. ただし、プログラマはこのメソッドを明示的に呼び出すこともできます。However, the programmer can also call this method explicitly.

適用対象

こちらもご覧ください