次の方法で共有


CurrencyManager.CancelCurrentEdit メソッド

現在の編集操作をキャンセルします。

Overrides Public Sub CancelCurrentEdit()
[C#]
public override void CancelCurrentEdit();
[C++]
public: void CancelCurrentEdit();
[JScript]
public override function CancelCurrentEdit();

解説

このメソッドは、データ ソースによって格納されたオブジェクトが IEditableObject インターフェイスを実装している場合にだけサポートされます。データ ソース内に格納されたオブジェクトが IEditableObject インターフェイスを実装していない場合は、データへの変更は破棄されません。

メモ   このプロパティは、 DataGrid コントロールなどの複合連結コントロールで、編集をキャンセルするために使用できるように設計されました。たとえば、Esc キーを押すと CancelCurrentEdit メソッドが CurrencyManagerDataGrid に呼び出されます。作成するコントロールにこれと同じ機能を必要としないのならば、このメソッドの使用はお勧めしません。代わりに、 DataRowView クラスの CancelEdit を使用します。

使用例

ユーザーが Esc キーを押したときに、 CancelCurrentEdit を使用する例を次に示します。

 
Protected Sub dataGrid1_KeyUp(sender As Object, _
    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 'dataGrid1_KeyUp

[C#] 
protected 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!");
   }
}


[C++] 
protected:
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->get_Item(dataGrid1->DataSource, dataGrid1->DataMember));
      gridCurrencyManager->CancelCurrentEdit();
      MessageBox::Show(S"Escape!");
   }
}


[JScript] 
protected function dataGrid1_KeyUp
(sender, e : System.Windows.Forms.KeyEventArgs)
{
   if(e.KeyCode == System.Windows.Forms.Keys.Escape){
      // Escape key pressed.
      var gridCurrencyManager : CurrencyManager  = 
      CurrencyManager(this.BindingContext[dataGrid1.DataSource, dataGrid1.DataMember]);
      gridCurrencyManager.CancelCurrentEdit();
      MessageBox.Show("Escape!");
   }
}

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET

参照

CurrencyManager クラス | CurrencyManager メンバ | System.Windows.Forms 名前空間 | EndCurrentEdit