ユーザーが編集中のセルと同じ行にある行ヘッダーをクリックすると、強制的にDataGridViewCell
編集モードを終了しようとしています。記録として、editmode は EditOnEnter に設定されています。
したがって、それに応じて次のイベントを記述します。
private void dGV_common_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
dGV_common.EndEdit();
}
上記のコードは、セルの編集モードを強制的に終了しませんでした。以下のコードは、セルを編集モードから強制的に終了させます。
private void dGV_common_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
dGV_common.EndEdit();
dGV_common.CurrentCell = null;
}
また、行全体の選択が解除されます。これは、ユーザーが をクリックしたときの望ましい動作ではありませんRowHeader
。
したがって、私の回避策は次のとおりです。
private void dGV_customer_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
dGV_customer.EndEdit();
dGV_customer.CurrentCell = null;
dGV_customer.Rows[e.RowIndex].Selected = true;
}
単一の行ヘッダーを選択するとうまくいきますが、Shift キーを押しながら複数の行ヘッダーを選択しようとすると失敗します。
どうすればこの状況を適切に処理できますか?