次の方法で共有


DataView.ListChanged イベント

DataView で管理されるリストが変更されるときに発生します。

Public Overridable Event ListChanged As ListChangedEventHandler
[C#]
public virtual event ListChangedEventHandler ListChanged;
[C++]
public: virtual __event ListChangedEventHandler* ListChanged;

[JScript] JScript では、このクラスで定義されているイベントを処理できます。ただし、独自に定義することはできません。

イベント データ

イベント ハンドラが、このイベントに関連するデータを含む、ListChangedEventArgs 型の引数を受け取りました。次の ListChangedEventArgs プロパティには、このイベントの固有の情報が記載されます。

プロパティ 説明
ListChangedType リストがどのように変更されたかを示す値を取得します。
NewIndex リスト内の項目の新しいインデックスを取得します。
OldIndex リスト内の項目の古いインデックスを取得します。

使用例

[Visual Basic, C#, C++] DataViewListChanged イベントのハンドラを追加する例を次に示します。

 
Public Sub CreateDataView(dt As DataTable) 
  Dim dv As DataView = New DataView(dt, "", "ContactName", DataViewRowState.CurrentRows)

  AddHandler dv.ListChanged, New System.ComponentModel.ListChangedEventHandler(AddressOf OnListChanged)
End Sub

Protected Sub OnListChanged(sender as Object, args As System.ComponentModel.ListChangedEventArgs)
  Console.WriteLine("ListChanged:")
  Console.WriteLine(vbTab & "    Type = " & args.ListChangedType)
  Console.WriteLine(vbTab & "OldIndex = " & args.OldIndex)
  Console.WriteLine(vbTab & "NewIndex = " & args.NewIndex)
End Sub

[C#] 
public void CreateDataView(DataTable dt) 
{
  DataView dv = new DataView(dt, "", "ContactName", DataViewRowState.CurrentRows);

  dv.ListChanged  += new System.ComponentModel.ListChangedEventHandler(OnListChanged);
}

protected 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);
}

[C++] 
public:
    void CreateDataView(DataTable* dt)
    {
    DataView* dv = new DataView(dt, S"", S"ContactName", DataViewRowState::CurrentRows);
    dv->ListChanged += new System::ComponentModel::ListChangedEventHandler(this, &Sample::OnListChanged);
    };

protected:
    void OnListChanged(Object* sender, System::ComponentModel::ListChangedEventArgs* args)
    {
    Console::WriteLine(S"ListChanged:");
    Console::WriteLine(S"\t    Type = {0}", __box(args->ListChangedType));
    Console::WriteLine(S"\tOldIndex = {0}", __box(args->OldIndex));
    Console::WriteLine(S"\tNewIndex = {0}", __box(args->NewIndex));
    };

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

DataView クラス | DataView メンバ | System.Data 名前空間