ICancelAddNew 인터페이스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
컬렉션에 새 항목을 추가할 때 트랜잭션 기능을 추가합니다.
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클래스의 System.Windows.Forms.CurrencyManager , EndCurrentEdit및 CancelCurrentEdit 메서드는 새 항목 추가에 대한 트랜잭션 지원을 담당합니다. 그러나 이 기능은 인터페이스를 통해 트랜잭션 동작을 지원하는 항목에 IEditableObject 따라 달라집니다. 항목이 이 인터페이스를 지원하지 않는 경우 항목은 에 대한 후속 호출 CancelCurrentEdit에 관계없이 항상 목록에 추가됩니다.
최신 모델은 및 ICancelAddNew 인터페이스를 구현하는 제네릭 BindingList<T> 클래스를 통해 보다 강력한 데이터 바인딩 시나리오를 IBindingList 지원합니다. 이 경우 트랜잭션 지원은 컬렉션에서 BindingList<T> 직접 관리됩니다.
메서드
CancelNew(Int32) |
보류 중인 새 항목을 컬렉션에서 삭제합니다. |
EndNew(Int32) |
보류 중인 새 항목을 컬렉션에 커밋합니다. |
적용 대상
추가 정보
.NET