Adds transactional capability when adding a new item to a collection.

See Also: ICancelAddNew


public interface ICancelAddNew


The ICancelAddNew interface enables a collection to add a new item in an extensible way. The new item subsequently can be committed or rolled back. The IBindingList.AddNew method of the collection is used to tentatively add the item, which is subsequently transacted through the following operations:

  • The ICancelAddNew.EndNew(Int32) method will explicitly commit the pending addition.

  • Performing another collection operation, such as an insertion, removal, or move will implicitly commit the pending addition.

  • The ICancelAddNew.CancelNew(Int32) method will roll back the pending addition if it has not already been committed.


In some scenarios, such as Windows Forms complex data binding, the collection may receive ICancelAddNew.CancelNew(Int32) or ICancelAddNew.EndNew(Int32) calls for items other than the newly added item. (Each item is typically a row in a data view.) Ignore these calls; cancel or commit the new item only when that item's index is specified.

There are two models that allow transactional addition of an item to a data-bound collection:


Namespace: System.ComponentModel
Assembly: System (in System.dll)
Assembly Versions:,

The members of System.ComponentModel.ICancelAddNew are listed below.

Public Methods


Discards a pending new item from the collection.


Commits a pending new item to the collection.