четверг, 7 марта 2013 г.

AutoSizeRowsMode и адские тормоза

Время отрисовки грида зависит кроме всего прочего, еще и от того, как определяется высота строк.

В варианте ниже жуткие тормоза из-за того, что идёт расчёт высоты всех строк. Если строк много, то этот расчёт может оказаться долгим.

grid.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;

Более быстрый и правильный вариант — определять высоту только тех ячеек, которые в данный момент отображаются на гриде. Совсем всё будет быстро, если использовать виртуальный грид, но об этом я напишу как-нибудь попозже.

grid.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.DisplayedCells;

Комментариев нет:

Отправить комментарий