BindingList にバインドされた DataGridView は値が変更されても更新されません 質問する

BindingList にバインドされた DataGridView は値が変更されても更新されません 質問する

DataGridView を BindingList (C# Windows Forms) にバインドしています。リスト内の項目の値の 1 つを変更しても、すぐにグリッドに表示されません。変更されたセルをクリックするか、ウィンドウを最小化してから最大化すると、適切に更新されますが、自動的に行われるようにする必要があります。

以前にも同じ問題がありましたが、そのときは値の変更と同時にセルの背景色を変更する必要がありました。これにより、セルは正しく更新されました。

それを動作させる唯一の方法は...

dataGridView.DataSource = null;  
dataGridView.DataSource = myBindingList

...しかし、スクロールバーが上部に戻ってしまい、セルの背景色を再度設定しなければならないため、これを避けたいのです。もっと良い方法があるはずです。Refresh (および親の更新)、Update、Invalidate を試しましたが、必要な動作は行われませんでした。

この問題はいくつかの掲示板で言及されていますが、まだ有効な回答は見当たりません。

ベストアンサー1

ListChangedアイテム値の変更に関する通知は、リスト アイテム タイプがINotifyPropertyChangedインターフェイスを実装している場合にのみ発生します。

出典:http://msdn.microsoft.com/en-us/library/ms132742.aspx

私の最初の質問は、あなたのアイテムを実装することですINotifyPropertyChangedきちんと?

おすすめ記事