Обработка событий DataView
Событие ListChanged объекта DataView используется для определения того, было ли обновлено представление. К обновлениям, которые вызывают это событие, относятся добавление, удаление или изменение строки в базовой таблице, добавление или удаление столбца из схемы базовой таблицы, изменение в родительской или дочерней связи. Событие ListChanged также уведомляет вас, если список строк, которые вы просматриваете, значительно изменился из-за применения нового порядка сортировки или фильтра.
Событие ListChanged реализует делегат System.ComponentModel ListChangedEventHandler пространства имен и принимает в качестве входных ListChangedEventArgs данных объект. Вы можете определить, какой тип изменения произошел с помощью ListChangedType значения перечисления в свойстве ListChangedType объекта ListChangedEventArgs. Для изменений, связанных с добавлением, удалением или перемещением строк, новый индекс добавленной или перемещенной строки, а к предыдущему индексу удаленной строки можно получить доступ с помощью свойства NewIndex объекта ListChangedEventArgs. В случае перемещенной строки предыдущий индекс перемещаемой строки можно получить с помощью свойства OldIndex объекта ListChangedEventArgs.
DataViewManager также предоставляет событие ListChanged, чтобы уведомить вас о добавлении или удалении таблицы или изменении коллекции "Отношения" базового набора данных.
В следующем примере кода показано, как добавить обработчик событий 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);
}