次の方法で共有


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 少なくとも 1 回発生させることでこれを行います。パラメーターは metaDataChanged 、基になる変更の性質を示します。

の値metaDataChangedに関係なく、 ListChanged が にListChangedType.Reset設定されたイベントが発生ListChangedEventArgs.ListChangedTypeします。 その結果、 のパラメーターtrueを指定して を呼び出すとResetBindings、2 つのListChangedイベントが発生します。

ResetBindingsは、 または DataMember プロパティの設定など、別のメンバーがデータ バインディングに大きな変更を加えるたびに自動的にDataSource呼び出されます。 ただし、プログラマはこのメソッドを明示的に呼び出すこともできます。

適用対象

こちらもご覧ください