DataView 이벤트 처리Handling DataView Events

ListChangedDataView 이벤트를 사용하여 뷰가 업데이트되었는지 확인할 수 있습니다.You can use the ListChanged event of the DataView to determine if a view has been updated. 이벤트를 발생시키는 업데이트에는 원본으로 사용하는 테이블에서의 행 추가, 삭제 또는 수정과 원본으로 사용하는 테이블 스키마에서의 열 추가 또는 삭제, 그리고 부모 또는 자식 관계의 변경이 포함됩니다.Updates that raise the event include adding, deleting, or modifying a row in the underlying table; adding or deleting a column to the schema of the underlying table; and a change in a parent or child relationship. 또한 ListChanged 이벤트는 새 정렬 순서나 필터의 적용으로 인해 보고 있는 행의 목록이 현저 하 게 변경 되었는지 여부를 알려줍니다.The ListChanged event also notifies you if the list of rows you are viewing has changed significantly due to the application of a new sort order or a filter.

ListChanged 이벤트는 네임 스페이스의 Listchangedeventhandler 대리자를 구현 System.ComponentModel 하 고 개체를 입력으로 사용 합니다 ListChangedEventArgs .The ListChanged event implements the ListChangedEventHandler delegate of the System.ComponentModel namespace and takes as input a ListChangedEventArgs object. ListChangedType ListChangedEventArgs 개체의 listchangedtype 속성에서 열거형 값을 사용 하 여 발생 하는 변경 유형을 확인할 수 있습니다.You can determine what type of change has occurred using the ListChangedType enumeration value in the ListChangedType property of the ListChangedEventArgs object. 행 추가, 삭제 또는 이동과 관련 된 변경 내용에 대해서는 ListChangedEventArgs 개체의 NewIndex 속성을 사용 하 여 추가 되거나 이동한 행의 새 인덱스와 삭제 된 행의 이전 인덱스에 액세스할 수 있습니다.For changes that involve adding, deleting, or moving rows, the new index of the added or moved row and the previous index of the deleted row can be accessed using the NewIndex property of the ListChangedEventArgs object. 이동 된 행의 경우 이동한 행의 이전 인덱스는 ListChangedEventArgs 개체의 oldindex 속성을 사용 하 여 액세스할 수 있습니다.In the case of a moved row, the previous index of the moved row can be accessed using the OldIndex property of the ListChangedEventArgs object.

또한 DataViewManager 는 테이블이 추가 되거나 제거 된 경우 또는 기본 데이터 집합관계 컬렉션이 변경 된 경우 알리도록 ListChanged 이벤트를 노출 합니다.The DataViewManager also exposes a ListChanged event to notify you if a table has been added or removed, or if a change has been made to the Relations collection of the underlying DataSet.

다음 코드 예제에서는 ListChanged 이벤트 처리기를 추가 하는 방법을 보여 줍니다.The following code example shows how to add a ListChanged event handler.

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

참고 항목See also