У меня есть 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 ).
Решения, предложенные на момент этого редактирования, также немного улучшат производительность.