Имеется ADOQuery, DBGrig, в общем стандартный набор.
В базе есть какая-то таблица, с какими-то данными - вообще не суть.
На форме есть DBGrid, в котором отображается таблица с данными, И имеется Edit, в котором вписываем текст для поиска.
Пытаюсь сделать что по мере набора текста в Edit сразу же идет фильтрация.
т.е. на обработчике Edit.KeyUP висит SQL отбор:
Код:
with Form1.ADOQuery1 do begin
SQL.Clear;
SQL.Add('SELECT user_name,groups FROM users_list');
SQL.Add('WHERE usr_roles < 5');
SQL.Add('AND (user_name LIKE '+quotedstr('%'+Edit1.text+'%'));
SQL.Add('OR groups LIKE '+quotedstr('%'+Edit1.text+'%')+')');
SQL.Add('ORDER BY user_name');
Open;
End;
И всё хорошо фильтруется и отсеивается, но DBGrig при каждом нажатии "Мерцает", - оно понятно, что он данные обновляет и поэтому "мерцает".
Вопрос: Как избавиться от "Мерцания"? DoubleBuffering - не помогает.
Или может я изначально не правильно делаю фильтрацию? - Тогда подскажите как это делать правильно.