ICancelAddNew Interface
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Adiciona capacidade transacional ao adicionar um novo item a uma coleção.
public interface class ICancelAddNew
public interface ICancelAddNew
type ICancelAddNew = interface
Public Interface ICancelAddNew
- Derivado
Observações
A ICancelAddNew interface permite que uma coleção adicione um novo item de forma extensível. O novo item pode posteriormente ser comprometido ou revertido. O AddNew método da coleção é usado para adicionar provisoriamente o item, que é posteriormente transacionado através das seguintes operações:
O EndNew método confirmará explicitamente a adição pendente.
Realizar outra operação de recolha, como uma inserção, remoção ou movimento, irá implicitamente comprometer a adição pendente.
O CancelNew método reverte a adição pendente se esta ainda não tiver sido confirmada.
Note
Em alguns cenários, como Windows Forms ligação de dados complexa, a coleção pode receber chamadas CancelNew ou EndNew para itens que não sejam o item recém-adicionado. (Cada item é tipicamente uma linha numa vista de dados.) Ignora estas chamadas; Cancele ou comprometa o novo item apenas quando o índice desse item for especificado.
Existem dois modelos que permitem a adição transacional de um item a uma coleção vinculada a dados:
O modelo mais antigo baseia-se diretamente numa coleção que implementa a interface IBindingList e é encadernado diretamente pelos dados usando a classe System.Windows.Forms.CurrencyManager. Os métodos AddNew, EndCurrentEdit e CancelCurrentEdit da classe System.Windows.Forms.CurrencyManager são responsáveis pelo suporte transacional para adicionar novos itens. No entanto, esta funcionalidade depende dos itens que suportam o comportamento transacional através da IEditableObject interface. Se os itens não suportarem esta interface, o item será sempre adicionado à lista, independentemente das chamadas subsequentes para CancelCurrentEdit.
O modelo mais recente suporta um cenário de ligação de dados mais robusto através da classe genérica BindingList<T> , que implementa as IBindingList interfaces and ICancelAddNew . Neste caso, o suporte transacional é gerido diretamente pela BindingList<T> coleção.
Métodos
| Name | Description |
|---|---|
| CancelNew(Int32) |
Descarta um novo item pendente da coleção. |
| EndNew(Int32) |
Compromete um novo item pendente para a coleção. |