Zpracování událostí zobrazení dat

Událost události DataView můžete použít ListChanged k určení, jestli bylo zobrazení aktualizováno. Aktualizace, které vyvolaly událost, zahrnují přidání, odstranění nebo úpravu řádku v podkladové tabulce; přidání nebo odstranění sloupce do schématu podkladové tabulky; a změnu nadřazené nebo podřízené relace. Událost ListChanged vás také upozorní, pokud se seznam zobrazených řádků výrazně změnil kvůli použití nového pořadí řazení nebo filtru.

ListChanged událost implementuje ListChangedEventHandler delegát System.ComponentModel oboru názvů a přebírá jako vstup ListChangedEventArgs objektu. Pomocí hodnoty výčtu v ListChangedType objektu ListChangedEventArgs můžete určit, k jakému typu změny došloListChangedType. Pro změny, které zahrnují přidání, odstranění nebo přesunutí řádků, nový index přidaného nebo přesunutého řádku a předchozí index odstraněného řádku lze získat přístup pomocí NewIndex vlastnost ListChangedEventArgs objektu. V případě přesunutého řádku lze předchozí index přesunutého řádku získat přístup pomocí OldIndex vlastnost ListChangedEventArgs objektu.

DataViewManager také zveřejňuje událost ListChanged, která vás upozorní, pokud byla tabulka přidána nebo odebrána, nebo pokud byla provedena změna kolekce relací podkladové datové sady.

Následující příklad kódu ukazuje, jak přidat ListChanged obslužnou rutinu události.

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

Viz také