ICancelAddNew Interfaccia
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Aggiunge funzionalità transazionali al momento dell'aggiunta di un nuovo elemento a un insieme.
public interface class ICancelAddNew
public interface ICancelAddNew
type ICancelAddNew = interface
Public Interface ICancelAddNew
- Derivato
Commenti
L'interfaccia ICancelAddNew consente a una raccolta di aggiungere un nuovo elemento in modo estendibile. Successivamente, è possibile eseguire il commit o il rollback del nuovo elemento. Il AddNew metodo della raccolta viene usato per aggiungere provvisoriamente l'elemento, che viene successivamente eseguito tramite le operazioni seguenti:
Il EndNew metodo eseguirà il commit esplicito dell'aggiunta in sospeso.
L'esecuzione di un'altra operazione di raccolta, ad esempio un inserimento, una rimozione o uno spostamento, eseguirà il commit implicito dell'aggiunta in sospeso.
Il CancelNew metodo eseguirà il rollback dell'aggiunta in sospeso se non è già stato eseguito il commit.
Nota
In alcuni scenari, ad esempio Windows Forms data binding complesso, la raccolta può ricevere CancelNew o EndNew chiamare elementi diversi dall'elemento appena aggiunto. Ogni elemento è in genere una riga in una vista dati. Ignorare queste chiamate; annullare o eseguire il commit del nuovo elemento solo quando viene specificato l'indice dell'elemento.
Esistono due modelli che consentono l'aggiunta transazionale di un elemento a una raccolta associata a dati:
Il modello precedente si basa direttamente su una raccolta che implementa l'interfaccia IBindingList ed è associata direttamente tramite la System.Windows.Forms.CurrencyManager classe . I AddNewmetodi , EndCurrentEdite CancelCurrentEdit della classe sono responsabili del System.Windows.Forms.CurrencyManager supporto transazionale per l'aggiunta di nuovi elementi. Tuttavia, questa funzionalità dipende dagli elementi che supportano il comportamento transazionale tramite l'interfaccia IEditableObject . Se gli elementi non supportano questa interfaccia, l'elemento verrà sempre aggiunto all'elenco, indipendentemente dalle chiamate successive a CancelCurrentEdit.
Il modello più recente supporta uno scenario di data binding più affidabile tramite la classe generica BindingList<T> , che implementa le IBindingList interfacce e ICancelAddNew . In questo caso, il supporto transazionale viene gestito direttamente dalla BindingList<T> raccolta.
Metodi
CancelNew(Int32) |
Elimina dalla raccolta un nuovo elemento in sospeso. |
EndNew(Int32) |
Esegue il commit di un nuovo elemento in sospeso nella raccolta. |