DataGridView.RowDirtyStateNeeded イベント
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
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 正しい値に設定することで、仮想モードでコミット スコープをカスタマイズするために使用できます。
イベントを処理する方法の詳細については、次を参照してください。処理とイベントの発生します。
適用対象
こちらもご覧ください
.NET