DataGridView
エンティティのリストにバインドされたアプリケーションに取り組んでいます。最後の列は、エンティティDataGridViewCheckBoxColumn
のプロパティを設定するために 0 と 1 の間で切り替えるです。のイベントStatus
を処理し、セルが の場合はを呼び出します。CellContentClick
DataGridView
DataGridViewCheckBoxCell
DataGridView.CommitEdit(DataGridViewErrorContexts.CurrentCellChanged)
イベントも処理しているCellValueChanged
ので、ステータスが変化したときに、セルの値に基づいて、CreatedDate
プロパティをDateTime.Now
または のインスタンスに設定できます。Nullable<DateTime>
通常の人のようにチェックボックスをクリックすると、すべてが正常に機能し、期待どおりに機能します。瞬時DataGridViewCell
にアップデートに対応。CreatedDate
ただし、チェックボックスを 2 回続けてすばやくクリックするCreatedDate
と、グリッド内の に、2 回のクリックのうちの最初のクリックに適切な値が表示されます。ダブルクリックの速度についても話しているわけではありません-それははるかに中程度の速度です.
さて、良いことは、実際の基になるデータが適切に変更されていることです。したがって、適切なイベントが発生し、ハンドラーがヒットしていることがわかります。しかし、何らかの理由で、DataGridView
更新が行われていません。Refresh()
手動で を呼び出し、クリック後にフォーム全体を無効にし、エンティティが保存された後に再度有効にしようとしました (この場合、無効にしてから再度有効にするまでの時間が非常に短いため、2 回目のクリックはまだ登録されています)、何も機能しません。 .
アイデア?