次の方法で共有


DataView イベントの処理

ListChangedDataView イベントを使用して、ビューが更新されたかどうかを判断できます。 イベントを発生させる更新には、基になるテーブル内の行の追加、削除、または変更が含まれます。基になるテーブルのスキーマに対する列の追加または削除。親または子関係の変更。 ListChanged イベントは、新しい並べ替え順序またはフィルターの適用により、表示している行の一覧が大幅に変更された場合にも通知します。

ListChanged イベントは、名前空間の System.ComponentModel デリゲートを実装し、ListChangedEventArgs オブジェクトを入力として受け取ります。 ListChangedType オブジェクトの ListChangedType プロパティの列挙値を使用して、発生した変更の種類を確認できます。 行の追加、削除、または移動を伴う変更の場合は、ListChangedEventArgs オブジェクトの NewIndex プロパティを使用して、追加または移動された行の新しいインデックスと、削除された行の前のインデックスにアクセスできます。 移動された行の場合は、ListChangedEventArgs オブジェクトの OldIndex プロパティを使用して、移動された行の前のインデックスにアクセスできます。

また、DataViewManagerListChanged イベントを公開して、テーブルが追加または削除されたかどうか、または基になる DataSetRelations コレクションに変更が加えられたかどうかを通知します。

次のコード例は、 ListChanged イベント ハンドラーを追加する方法を示しています。

AddHandler custView.ListChanged, _  
  New System.ComponentModel.ListChangedEventHandler( _  
  AddressOf OnListChanged)  
  
Private Shared Sub OnListChanged( _  
  sender As Object, args As System.ComponentModel.ListChangedEventArgs)  
  Console.WriteLine("ListChanged:")  
  Console.WriteLine(vbTab & "    Type = " & _  
    System.Enum.GetName(args.ListChangedType.GetType(), _  
    args.ListChangedType))  
  Console.WriteLine(vbTab & "OldIndex = " & args.OldIndex)  
  Console.WriteLine(vbTab & "NewIndex = " & args.NewIndex)  
End Sub  
custView.ListChanged  += new
  System.ComponentModel.ListChangedEventHandler(OnListChanged);  
  
protected static void OnListChanged(object sender,
  System.ComponentModel.ListChangedEventArgs args)  
{  
  Console.WriteLine("ListChanged:");  
  Console.WriteLine("\t    Type = " + args.ListChangedType);  
  Console.WriteLine("\tOldIndex = " + args.OldIndex);  
  Console.WriteLine("\tNewIndex = " + args.NewIndex);  
}  

こちらも参照ください