Я хочу показати багато даних у DataGridView(більше 1000 рядків і 15 колонок). Я використовую BindingList як DataGridView.DataSource. BindingList змінюється систематично (15s) - деякі рядки видаляються, змінюються або додаються (небагато, напевно менше, ніж кількість всіх рядків).
Обидва приготування та відображення DataGridView вперше і модифікація не є ефективними, ніж це потрібно. Я знайшов просте рішення (і кілька подібних):
bindingList.RaiseListChangedEvents = false;
// modifying BindingList
bindingList.RaiseListChangedEvents = true;
bindingList.ResetBindings();
Оскільки я додав ці рядки, DataGridView будуєтьсяі оновлено набагато швидше. Але це рішення має один неприйнятний недолік. Після оновлення списку переміщення переміщується у верхній частині списку, а вибір буде втрачено. Чи існує якесь рішення, яке не тільки швидко змінює DataGridView, але також прокручує залишок у попередній позиції (перед оновленням) і не змінює вибір рядків?
Відповіді:
2 для відповіді № 1Зберегти вибрані координати та після оновлення, відновити їх.