次の方法で共有


DataGridView.RowDirtyStateNeeded イベント

定義

DataGridView コントロールの VirtualMode プロパティが true で、DataGridView が現在の行にコミットされていない変更の有無を確認する必要がある場合に発生します。

public:
 event System::Windows::Forms::QuestionEventHandler ^ RowDirtyStateNeeded;
public event System.Windows.Forms.QuestionEventHandler RowDirtyStateNeeded;
public event System.Windows.Forms.QuestionEventHandler? RowDirtyStateNeeded;
member this.RowDirtyStateNeeded : System.Windows.Forms.QuestionEventHandler 
Public Custom Event RowDirtyStateNeeded As QuestionEventHandler 

イベントの種類

次のコード例は、このイベントを処理してセル レベルのコミット スコープを提供する方法を示しています。つまり、ユーザーは変更を現在のセルのみに戻すことができます。 セル レベルのコミット スコープでは、行内のセルにコミットされていない変更がある場合ではなく、現在のセルにコミットされていない変更がある場合にのみ、行がコミットされていない変更として扱われます。 この例は、「チュートリアル: Windows フォーム DataGridView コントロールでの仮想モードの実装」で使用できる大きな例の一部です。

void dataGridView1_RowDirtyStateNeeded( Object^ /*sender*/,
    System::Windows::Forms::QuestionEventArgs^ e )
{
   if (  !rowScopeCommit )
   {
      
      // In cell-level commit scope, indicate whether the value
      // of the current cell has been modified.
      e->Response = this->dataGridView1->IsCurrentCellDirty;
   }
}
private void dataGridView1_RowDirtyStateNeeded(object sender,
    System.Windows.Forms.QuestionEventArgs e)
{
    if (!rowScopeCommit)
    {
        // In cell-level commit scope, indicate whether the value
        // of the current cell has been modified.
        e.Response = this.dataGridView1.IsCurrentCellDirty;
    }
}
Private Sub dataGridView1_RowDirtyStateNeeded(ByVal sender As Object, _
    ByVal e As System.Windows.Forms.QuestionEventArgs) _
    Handles dataGridView1.RowDirtyStateNeeded

    If Not rowScopeCommit Then

        ' In cell-level commit scope, indicate whether the value
        ' of the current cell has been modified.
        e.Response = Me.dataGridView1.IsCurrentCellDirty

    End If

End Sub

注釈

既定では、現在の行のセルが QuestionEventArgs.Response 変更されている場合、このイベントによって プロパティが に true 設定されます。 これにより、ユーザーが編集を CancelRowEdit 行に戻したときにイベントが発生します。 ユーザーは、セルが編集モードの場合は Esc キーを 2 回押すか、編集モードの外に 1 回押すことで、編集を行に戻すことができます。 このイベントは、選択したコミット スコープに応じて プロパティを QuestionEventArgs.Response 正しい値に設定することで、仮想モードでコミット スコープをカスタマイズするために使用できます。

イベントを処理する方法の詳細については、次を参照してください。処理とイベントの発生します。

適用対象

こちらもご覧ください