ICancelAddNew ICancelAddNew ICancelAddNew ICancelAddNew Interface

定義

コレクションに新しい項目を追加する際のトランザクション機能を追加します。Adds transactional capability when adding a new item to a collection.

public interface class ICancelAddNew
public interface ICancelAddNew
type ICancelAddNew = interface
Public Interface ICancelAddNew
派生

注釈

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. コレクションAddNewのメソッドは、項目を仮に追加するために使用されます。その後、次の操作によってトランザクションが処理されます。The AddNew method of the collection is used to tentatively add the item, which is subsequently transacted through the following operations:

  • メソッドEndNewは、保留中の加算を明示的にコミットします。The EndNew method will explicitly commit the pending addition.

  • 挿入、削除、移動などの別のコレクション操作を実行すると、保留中の追加が暗黙的にコミットされます。Performing another collection operation, such as an insertion, removal, or move will implicitly commit the pending addition.

  • まだCancelNewコミットされていない場合、メソッドは保留中の追加をロールバックします。The CancelNew method will roll back the pending addition if it has not already been committed.

注意

複合データバインディング Windows フォームなど、一部のシナリオでは、新しく追加さCancelNewEndNewた項目以外の項目を受信または呼び出しする場合があります。In some scenarios, such as Windows Forms complex data binding, the collection may receive CancelNew or EndNew 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.

データバインドコレクションに項目を追加するには、次の2つのモデルがあります。There are two models that allow transactional addition of an item to a data-bound collection:

  • 以前のモデルは、 IBindingListインターフェイスを実装するコレクションに直接依存しており、 System.Windows.Forms.CurrencyManagerクラスを使用して直接データバインドされています。The older model relies directly on a collection that implements the IBindingList interface and is data-bound directly using the System.Windows.Forms.CurrencyManager class. クラスのEndCurrentEdit、、およびCancelCurrentEditの各メソッドは、新しい項目を追加するためのトランザクションサポートを担当します。 AddNew System.Windows.Forms.CurrencyManagerThe AddNew, EndCurrentEdit, and CancelCurrentEdit methods of the System.Windows.Forms.CurrencyManager class are responsible for transactional support for adding new items. ただし、この機能は、インターフェイスをIEditableObject介してトランザクション動作をサポートする項目に依存します。However, this functionality depends upon the items supporting transactional behavior through the IEditableObject interface. 項目がこのインターフェイスをサポートしていない場合、の後続の呼び出しCancelCurrentEditに関係なく、項目は常にリストに追加されます。If the items do not support this interface, the item will always be added to the list, regardless of subsequent calls to CancelCurrentEdit.

  • 新しいモデルでは、インターフェイスBindingList<T> IBindingListICancelAddNewインターフェイスを実装するジェネリッククラスを通じて、より堅牢なデータバインディングシナリオがサポートされています。The newer model supports a more robust data-binding scenario through the generic BindingList<T> class, which implements the IBindingList and ICancelAddNew interfaces. この場合、トランザクションサポートはBindingList<T>コレクションによって直接管理されます。In this case, the transactional support is managed by the BindingList<T> collection directly.

メソッド

CancelNew(Int32) CancelNew(Int32) CancelNew(Int32) CancelNew(Int32)

保留中の新しい項目をコレクションから破棄します。Discards a pending new item from the collection.

EndNew(Int32) EndNew(Int32) EndNew(Int32) EndNew(Int32)

保留中の新しい項目をコレクションにコミットします。Commits a pending new item to the collection.

適用対象

こちらもご覧ください