ICancelAddNew Интерфейс

Определение

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

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

Комментарии

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

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

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

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

Note

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

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

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

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

Методы

Имя Описание
CancelNew(Int32)

Отменяет ожидающий новый элемент из коллекции.

EndNew(Int32)

Фиксирует ожидающий новый элемент в коллекции.

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

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