1

DataGridViewエンティティのリストにバインドされたアプリケーションに取り組んでいます。最後の列は、エンティティDataGridViewCheckBoxColumnのプロパティを設定するために 0 と 1 の間で切り替えるです。のイベントStatusを処理し、セルが の場合はを呼び出します。CellContentClickDataGridViewDataGridViewCheckBoxCellDataGridView.CommitEdit(DataGridViewErrorContexts.CurrentCellChanged)

イベントも処理しているCellValueChangedので、ステータスが変化したときに、セルの値に基づいて、CreatedDateプロパティをDateTime.Nowまたは のインスタンスに設定できます。Nullable<DateTime>

通常の人のようにチェックボックスをクリックすると、すべてが正常に機能し、期待どおりに機能します。瞬時DataGridViewCellにアップデートに対応。CreatedDate

ただし、チェックボックスを 2 回続けてすばやくクリックするCreatedDateと、グリッド内の に、2 回のクリックのうちの最初のクリックに適切な値が表示されます。ダブルクリックの速度についても話しているわけではありません-それははるかに中程度の速度です.

さて、良いことは、実際の基になるデータが適切に変更されていることです。したがって、適切なイベントが発生し、ハンドラーがヒットしていることがわかります。しかし、何らかの理由で、DataGridView更新が行われていません。Refresh()手動で を呼び出し、クリック後にフォーム全体を無効にし、エンティティが保存された後に再度有効にしようとしました (この場合、無効にしてから再度有効にするまでの時間が非常に短いため、2 回目のクリックはまだ登録されています)、何も機能しません。 .

アイデア?

4

0 に答える 0