Флажок DataGridView столбец «выбрать все» производительность

У меня есть DataGridView со столбцом флажков. Я пытаюсь создать кнопку выбора / отмены выбора всего. Код для изменения значений достаточно прост, но производительность ужасно.

for (int i = 0; i < dgv.RowCount; i++)
{
    dgv.Rows[i].Cells["Selected"].Value = _selectAll;
}

_selectAll - это просто переменная типа bool. Есть ли лучший способ сделать это при высокой производительности? Я также пробовал изменить значение в базовом DataTable. Для нескольких сотен строк по-прежнему требуется несколько секунд, но большая часть работы будет выполняться с тысячами строк.

РЕДАКТИРОВАНИЕ И РЕШЕНИЕ (2011/10/4)

Основная проблема заключалась в свойствах DGV. Как только я установил, производительность

dgv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.DisplayedCells;

резко улучшилась (согласно MSDN DataGridView Performance ). Решения, предложенные в этой редакции, также немного улучшат производительность.

7
задан Handprint 5 October 2011 в 17:33
поделиться