Медленное рисование DataGridView с использованием List <> в качестве источника данных в C # - PullRequest
0 голосов
/ 17 октября 2019

Я читал здесь о проблемах с медленным рисованием в Data Grid View, но я не могу найти решение, поэтому я попытаюсь поделиться четким примером моего кода и измерением времени (более 6 секунд ... ).

Я использую DoubleBuffer и VirtualMode на процессоре i7, 16 ГБ ОЗУ, 2 ГБ GPU и время рисования одинаковое. У меня есть List <> (около 10.000 элементов простых структур), и я использую его в качестве источника данных для DataGridView, здесь код:

this.Cursor = Cursors.WaitCursor;

this.dataGridViewList = this.completeList.FindAll (
    r => r.code >= 0
);

this.myDataGridView.AutoGenerateColumns = false;
this.myDataGridView.DataSource = this.dataGridViewList;
this.myDataGridView.ClearSelection();

this.Cursor = Cursors.Default;

А вот время, это действительно очень медленно, список <> не является проблемой, его можно отсортировать за миллисекунды, я уверен, что проблема в пополнении или рисовании DataGridView.

My error

...