Megosztás a következőn keresztül:


DataView-események kezelése

A nézet eseményével DataView megállapíthatjaListChanged, hogy frissítették-e a nézetet. az eseményt kiváltó Frissítések közé tartozik az alapul szolgáló tábla egy sorának hozzáadása, törlése vagy módosítása; oszlop hozzáadása vagy törlése az alapul szolgáló tábla sémájában, valamint egy szülő- vagy gyermekkapcsolat módosítása. A ListChanged esemény azt is értesíti, ha a megtekintett sorok listája jelentősen megváltozott egy új rendezési sorrend vagy szűrő alkalmazása miatt.

A ListChanged esemény implementálja a névtér ListChangedEventHandler delegáltját System.ComponentModel , és bemenetként egy objektumot ListChangedEventArgs vesz fel. A ListChangedEventArgs objektum ListChangedEventArgs objektum ListChangedEventArgs tulajdonságában található számbavételi érték használatával ListChangedType meghatározhatja, hogy milyen típusú változás történt. Sorok hozzáadását, törlését vagy áthelyezését érintő módosítások esetén a hozzáadott vagy áthelyezett sor új indexe és a törölt sor előző indexe a ListChangedEventArgs objektum NewIndex tulajdonságával érhető el. Áthelyezett sor esetén az áthelyezett sor előző indexe a ListChangedEventArgs objektum OldIndex tulajdonságával érhető el.

A DataViewManager egy ListChanged eseményt is elérhetővé tesz, amely értesíti Önt, ha egy táblát hozzáadtak vagy eltávolítottak, vagy ha módosítás történt a mögöttes adathalmaz Kapcsolatok gyűjteményében.

Az alábbi példakód bemutatja, hogyan vehet fel ListChanged eseménykezelőt .

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

Lásd még