|
![]() |
#1 |
NavAx
|
Цитата:
Сообщение от Nikolaich
![]() избавляться от дисплей-методов - задача непосильная
![]() есть форма тяжеловесная, сверху - группа фильтрации. проблема такая, при прорисовке данных, когда она еще не закончилась, при вводе нескольких символов (не всех задуманных) в один из фильтров сверху, отрабатывает modified() на контроле фильтра. То есть, пользователь хотел ввести '3024' , ввел '302' и форма уже отреагировала. Как я понял опытным путем, во время этой прорисовки происходит некая потеря фокуса с группы фильтрации на рисование данных grid, и воспринимается это как modified() на контроле. Цель - перекрыть метод, ответственный за прорисовку, и заблокировать ввод в группу фильтрации, пока он не отработал Или хотя бы их оптимизировать (наверняка в них есть тяжелые запросы к базе). А отработку фильтров по введенным значениям в поле можно перевесить на кнопку типа "обновить". Либо продумать вариант с задержкой выполнения запроса после ввода фильтра. |
|
![]() |
#2 |
Участник
|
Цитата:
Сообщение от Roman777
![]() В чем проблема избавиться от дисплей-методов?
Или хотя бы их оптимизировать (наверняка в них есть тяжелые запросы к базе). А отработку фильтров по введенным значениям в поле можно перевесить на кнопку типа "обновить". Либо продумать вариант с задержкой выполнения запроса после ввода фильтра. оптимизировать - тоже нет, они итак оптимизированы, просто их много ![]() Кнопка обновить - спору нет, но неудобно задержка выполнения запроса - тоже не поможет, так как не в выполнении запроса дело, нужно заблокировать ввод в фильтры во время прорисовки данных |
|
![]() |
#3 |
NavAx
|
Цитата:
Про кнопку: т.е. пользователю удобнее наблюдать как рисуются строки? Как раз если задержка на выполнение запроса скорее всего поможет, т.к. именно после запроса происходит вызов дисплей-методов. |
|
|
|