2011-07-28 12 views
1

DataGridViewにたくさんのデータを表示したい(1000行以上15列以上)。 DataGridView.DataSourceとしてBindingListを使用します。 BindingListは体系的に変更されています(15秒)。いくつかの行は削除、変更、または追加されます(多くはないが、すべての行の数よりはるかに少ない)。dataGridViewを更新しています

初めてDataGridViewを準備して表示したり、変更したりするのは、必要なだけ効率的ではありません。私は簡単な解決策(といくつかの類似した)のが見つかりました:私はこれらの行を追加したので

bindingList.RaiseListChangedEvents = false; 
// modifying BindingList 
bindingList.RaiseListChangedEvents = true; 
bindingList.ResetBindings(); 

、DataGridViewのは構築されており、はるかに高速リフレッシュされます。しかし、この解決策には容認できない欠点が1つあります。リストを更新すると、スクロールがリストの一番上に移動し、選択が失われます。 DataGridViewをすばやく変更するだけでなく、以前の位置(更新前)にスクロールして行選択を変更しないソリューションはありますか?

答えて

2

選択した座標を保存し、リフレッシュ後に復元します。

関連する問題