Показать сообщение отдельно
Старый 03.06.2010, 16:44   #1  
Geo is offline
Geo
Участник
Аватар для Geo
 
258 / 47 (2) +++
Регистрация: 04.04.2008
Тормозит грид
Доброго времени суток, уважаемые!

Поискал такую тему, но не нашел; прошу извинить, если окажется, что искал плохо.

Дело в следующем.

Вывел в одном гриде две таблицы (CustPackingSlipJour и CustPackingSlipTrans, отборочные накладные продажи), со связью Inner Join. Записей в каждой под тысячу; строк чуть больше (понятное дело).
Грид помещен на новую вкладку в форме "Журнал отборочных накладных" (CustPackingSlipJournal). Датасорсы созданы новые, только для этого грида.
Всего 22 поля в гриде. Только нормальные поля, без методов. Среди полей есть добавленные нами.

В результате - ЖУТКИЕ ТОРМОЗА.

Грид заполняется уныло-построчно; после прорисовывания всех строк, что помещаются на форму, можно начинать что-то делать - но при этом переход на другую строку клавишей "Вниз" занимает чуть меньше секунды, а прокручивание колеcом мышки становится вообще неоперабельным.

Если удалять поля из грида - начинает работать быстрее, и, после оставления, скажем, всего 4-х полей (по 2 из каждой таблицы) - практически нормально.

Самая фича: замечено, что если что-нибудь сделать с формой (свернуть/развернуть, изменить ширину столбца в гриде, изменить размер окна формы) - то после этого грид начинает работать нормально и продолжает это делать, пока не закроешь форму. Поэтому технология работы сейчас такая: щелчок по вкладке, сразу щелчок по "Свернуть", ждем несколько секунд, пока по инерции допрорисуются первые несколько строчек, потом форма сворачивается, восстанавливаем ее - и можно работать.

На другой базе (раза в 2 побольше записей) тот же объект не вызывает уже жутких тормозов, но тоже явно немного подтормаживает, что также лечится вышеописанным образом.

Подскажите, пожалуйста, в чем тут дело и как с этим бороться.


Последний раз редактировалось Geo; 03.06.2010 в 16:48.