28.4 Events Reference

ListChanged

 ListChangedEventHandler ListChanged; 

Fires when the information in a DataView changes, including when DataRowView objects are added, deleted, modified, or moved. This event provides a ListChangedEventArgs object with information about the type of change, and the old and new index of the item, if appropriate. This event is rarely used in application programming (in which case the DataTable events are much more useful) but is typically reserved for creating custom data bound controls.

Event Argument

ListChangedEventArgs e

Exposes three properties. ListChangedType provides an enumerated value that indicates how the list changed. NewIndex and OldIndex indicate where an item moved, if the event is in response to a single row change. For example, if an item is moved from position 0 to position 1, NewIndex is 1, and OldIndex is 0. If an item is deleted, NewIndex contains the former index of the deleted item, and OldIndex isn't used.

Table 28-2 lists the valid values for the ListChangedType enumeration.

Table 28-2. ListChangedType values

Value

Description

 ItemAdded 

An item was added to the list at position NewIndex .

 ItemChanged 

The item at NewIndex was changed.

 ItemDeleted 

The item at NewIndex was deleted.

 ItemMoved 

An item moved in the list from OldIndex to NewIndex .

PropertyDescriptorAdded , PropertyDescriptorChanged , and PropertyDescriptorDeleted

A PropertyDescriptor was added, changed, or deleted, and this changed the schema.

 Reset 

The list has changed substantially. Any listeners should reread the entire DataView .

Example

Here's an example that handles the ListChanged event and displays some information to a debug window:

 private void OnListChanged(object sender, ListChangedEventArgs args) {     Debug.WriteLine("ListChanged:");     Debug.WriteLine("\t    Type = " + args.ListChangedType);     Debug.WriteLine("\tOldIndex = " + args.OldIndex);     Debug.WriteLine("\tNewIndex = " + args.NewIndex); } 

Note

If you make a change that affects multiple rows, such as changing the Sort order, the DataView doesn't fire one ListChanged event for each row. Instead, it fires a ListChanged event with a ListChangedType of Reset .



ADO. NET in a Nutshell
ADO.NET in a Nutshell
ISBN: 0596003617
EAN: 2147483647
Year: 2005
Pages: 415

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net