![]() |
|
#1
|
||||
|
||||
![]() Имеется ADOQuery, DBGrig, в общем стандартный набор.
В базе есть какая-то таблица, с какими-то данными - вообще не суть. На форме есть DBGrid, в котором отображается таблица с данными, И имеется Edit, в котором вписываем текст для поиска. Пытаюсь сделать что по мере набора текста в Edit сразу же идет фильтрация. т.е. на обработчике Edit.KeyUP висит SQL отбор: Код:
Вопрос: Как избавиться от "Мерцания"? DoubleBuffering - не помогает. Или может я изначально не правильно делаю фильтрацию? - Тогда подскажите как это делать правильно. Програмистами не рождаются, ими становятся! |
#2
|
||||
|
||||
![]() Сначала напишешь тему, опубликуешь, потом прочитал что написал, и появляется идея... Легкое гугление и вуаля:
Код:
![]() Програмистами не рождаются, ими становятся! |
#3
|
||||
|
||||
![]() Ну я бы фильтр применял только в том случае, если разница во времени последнего изменения эдита больше секунды, т.о. пока что-то вколачиваешь в эдит -- грид спокойный, оторвал руки от клавы и грид сразу становится буйным.
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#4
|
||||
|
||||
![]() M.A.D.M.A.N. Предлагаешь таймер еще повесить?... вроде как не комильфо, хотя идея интересная.
Програмистами не рождаются, ими становятся! |
#5
|
|||
|
|||
![]() поищи в инете, может есть Edit с задержкой вызова OnChange
|
#6
|
||||
|
||||
![]() Еще неплохо бы ограничивать количество результатов при таком запросе. Скажем 100 первых результатов более чем достаточно. Ну а мерцание должно уйти если включить буферизацию.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
Этот пользователь сказал Спасибо Страдалецъ за это полезное сообщение: | ||
gewasop (14.06.2015)
|