У меня есть DataGridView в приложении Winforms, которое имеет около 1000 строк (несвязанных) и 50 столбцов. Скрытие столбца занимает целых 2 секунды. Когда я хочу скрыть около половины строк, это становится проблемой.
private void ShowRows(string match)
{
this.SuspendLayout();
foreach (DataGridViewRow row in uxMainList.Rows)
{
if (match == row.Cells["thisColumn"].Value.ToString()))
{ row.Visible = false; }
else
{ row.Visible = true; }
}
this.ResumeLayout();
}
Я провел некоторое тестирование, добавив, добавив Console.WriteLine(DateTime.Now)
вокруг действий, и row.Visible = false
определенно медленный бит. Я что-то упускаю, например, настройку IsReallySlow = false
? Или я должен пойти дальше и включить виртуальный режим и кодировать необходимые события?