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 класса. Методы AddNewи CancelCurrentEdit методы класса отвечают за поддержку транзакций System.Windows.Forms.CurrencyManager для EndCurrentEditдобавления новых элементов. Однако эта функция зависит от элементов, поддерживающих транзакционный режим через IEditableObject интерфейс. Если элементы не поддерживают этот интерфейс, элемент всегда будет добавлен в список независимо от последующих вызовов CancelCurrentEdit.

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

Методы

CancelNew(Int32)

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

EndNew(Int32)

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

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

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