다음을 통해 공유


CurrencyManager.CancelCurrentEdit 메서드

정의

현재 편집 작업을 취소합니다.

public:
 override void CancelCurrentEdit();
public override void CancelCurrentEdit ();
override this.CancelCurrentEdit : unit -> unit
Public Overrides Sub CancelCurrentEdit ()

예제

다음 코드 예제에서는 사용자가 ESC 키를 누를 때 사용합니다 CancelCurrentEdit .

private:
   void dataGrid1_KeyUp( Object^ /*sender*/, System::Windows::Forms::KeyEventArgs^ e )
   {
      if ( e->KeyCode == System::Windows::Forms::Keys::Escape )
      {
         
         // Escape key pressed.
         CurrencyManager^ gridCurrencyManager = dynamic_cast<CurrencyManager^>(this->BindingContext[dataGrid1->DataSource, dataGrid1->DataMember]);
         gridCurrencyManager->CancelCurrentEdit();
         MessageBox::Show( "Escape!" );
      }
   }
private void dataGrid1_KeyUp
(object sender, System.Windows.Forms.KeyEventArgs e)
{
   if(e.KeyCode == System.Windows.Forms.Keys.Escape){
      // Escape key pressed.
      CurrencyManager gridCurrencyManager = 
      (CurrencyManager)this.BindingContext[dataGrid1.DataSource, dataGrid1.DataMember];
      gridCurrencyManager.CancelCurrentEdit();
      MessageBox.Show("Escape!");
   }
}
Private Sub dataGrid1_KeyUp(ByVal sender As Object, _
ByVal e As System.Windows.Forms.KeyEventArgs)

    If e.KeyCode = System.Windows.Forms.Keys.Escape Then
        ' Escape key pressed.
        Dim gridCurrencyManager As CurrencyManager = _
            CType(Me.BindingContext(dataGrid1.DataSource, _
            dataGrid1.DataMember), CurrencyManager)

        gridCurrencyManager.CancelCurrentEdit()
        MessageBox.Show("Escape!")
    End If
End Sub

설명

이 메서드는 데이터 원본에 포함된 개체가 인터페이스를 구현 IEditableObject 하는 경우에만 지원됩니다. 데이터 원본에 포함된 개체가 인터페이스를 IEditableObject 구현하지 않으면 데이터에 대한 변경 내용은 삭제되지 않습니다.

참고

이 속성은 컨트롤과 같은 복잡한 데이터 바인딩된 컨트롤에서 DataGrid 편집을 취소하는 데 사용하도록 설계되었습니다. 예를 들어 사용자가 ESC 키를 누르면 메서드가 CancelCurrentEdit for에 대해 CurrencyManager DataGrid호출됩니다. 이 동일한 기능이 필요한 컨트롤을 만들지 않는 한 이 메서드를 사용하면 안 됩니다. 대신 클래스의 CancelEdit 메서드를 DataRowView 사용합니다.

적용 대상

추가 정보