Поделиться через


ICancelAddNew Интерфейс

Определение

Добавляет поддержку транзакций при добавлении нового элемента в коллекцию.

public interface class ICancelAddNew
public interface ICancelAddNew
type ICancelAddNew = interface
Public Interface ICancelAddNew
Производный

Комментарии

Интерфейс ICancelAddNew позволяет коллекции добавлять новый элемент расширяемым способом. Впоследствии новый элемент можно зафиксировать или откатить. Метод AddNew коллекции используется для предварительного добавления элемента, который затем выполняется с помощью следующих операций:

  • Метод EndNew явным образом фиксирует ожидающее сложение.

  • Выполнение другой операции сбора, например вставки, удаления или перемещения, неявно фиксирует ожидающее добавление.

  • Метод CancelNew откатит ожидающее добавление, если оно еще не зафиксировано.

Примечание

В некоторых сценариях, таких как Windows Forms сложной привязке данных, коллекция может принимать CancelNew или EndNew вызывать элементы, отличные от добавленного элемента. (Каждый элемент обычно является строкой в представлении данных.) Игнорировать эти вызовы; отмена или фиксация нового элемента только в том случае, если указан индекс этого элемента.

Существует две модели, которые позволяют транзакционного добавления элемента в коллекцию с привязкой к данным:

  • Более старая модель напрямую зависит от коллекции, которая реализует IBindingList интерфейс и напрямую привязана System.Windows.Forms.CurrencyManager к данным с помощью класса . Методы AddNewSystem.Windows.Forms.CurrencyManager , EndCurrentEditи CancelCurrentEdit класса отвечают за поддержку транзакций для добавления новых элементов. Однако эта функция зависит от элементов, поддерживающих транзакционный режим через IEditableObject интерфейс . Если элементы не поддерживают этот интерфейс, элемент всегда добавляется в список независимо от последующих вызовов CancelCurrentEdit.

  • Более новая модель поддерживает более надежный сценарий привязки данных с помощью универсального BindingList<T> класса, который реализует IBindingList интерфейсы и ICancelAddNew . В этом случае транзакционная поддержка управляется непосредственно коллекцией BindingList<T> .

Методы

CancelNew(Int32)

Удаляет незафиксированный новый элемент из коллекции.

EndNew(Int32)

Фиксирует незафиксированный новый элемент в коллекции.

Применяется к

См. также раздел