Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
È possibile utilizzare l'evento ListChanged di DataView per determinare se una visualizzazione è stata aggiornata. Gli aggiornamenti che generano l'evento includono l'aggiunta, l'eliminazione o la modifica di una riga nella tabella sottostante; aggiunta o eliminazione di una colonna allo schema della tabella sottostante; e una modifica in una relazione padre o figlio. L'evento ListChanged notifica inoltre se l'elenco di righe visualizzate è stato modificato in modo significativo a causa dell'applicazione di un nuovo ordinamento o di un filtro.
L'evento ListChanged implementa il delegato ListChangedEventHandler dello System.ComponentModel spazio dei nomi e accetta come input un ListChangedEventArgs oggetto. È possibile determinare il tipo di modifica che si è verificato utilizzando il ListChangedType valore di enumerazione nella proprietà ListChangedType dell'oggetto ListChangedEventArgs . Per le modifiche che comportano l'aggiunta, l'eliminazione o lo spostamento di righe, è possibile accedere al nuovo indice della riga aggiunta o spostata e all'indice precedente della riga eliminata utilizzando la proprietà NewIndex dell'oggetto ListChangedEventArgs . Nel caso di una riga spostata, è possibile accedere all'indice precedente della riga spostata usando la proprietà OldIndex dell'oggetto ListChangedEventArgs .
DataViewManager espone anche un evento ListChanged per notificare se una tabella è stata aggiunta o rimossa o se è stata apportata una modifica all'insieme Relationsdell'oggetto DataSet sottostante.
Nell'esempio di codice seguente viene illustrato come aggiungere un gestore eventi 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);
}