Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.16;
Скачать: CL | DM;

Вниз

DBCtrlGrid и поиск   Найти похожие ветки 

 
Fishka   (2004-04-20 15:33) [0]

В DBCtrlGrid отражается результат запроса. В Edit вводится какой-то текст. Далее в каждой записи в нужном мне поле путем хождения в цикле по записям я ищу набранный текст.Если текст найден, то поиск прекращается.
Вопрос: как сделать так, чтобы при поиске не было видно "мелькание записей"?
Не помогло:
DBCtrlGrid.DataSource.DataSet.DisableControls;
DataSource3.DataSet:=nil;
DBCtrlGrid.DataSource:=nil;


 
RayRom ©   (2004-04-20 16:26) [1]

Короче создай есче один Куери подобный что передает в ДатаКонтрол, и ищи по нему, а потом передавай номер записи в твой ДатаКонтрол.


 
innok ©   (2004-04-20 16:45) [2]

у меня вот так, можешь переделать под query

procedure TForm1.Edit2Change(Sender: TObject);
begin
DataModule2.ADODataSet1.Locate("fio",Edit2.Text,[loCaseInsensitive,loPartialKey]);
end;


 
Fishka   (2004-04-20 17:38) [3]

RayRom ©   (20.04.04 16:26) [1]
Но и в данном случае придется "пробегать по записям", и "мелькание" будет.
innok ©   (20.04.04 16:45) [2]
Мне кажется, что поиск через Locate ищет только с начала , а не на вхождение. Мне нужен поиск на вхождение. Или я ошибаюсь?

Жду ответов.


 
Johnmen ©   (2004-04-20 17:44) [4]

DisableControls;
<поиск>
EnableControls;

и ничего более...:)


 
Fishka   (2004-04-21 09:32) [5]

А у меня почему-то при такой конструкции:
DBCtrlGrid.DataSource.DataSet.DisableControls;
while not Query.Eof do
begin
 if (AnsiPos(...)) then  break;
Query.Next;
end;
DBCtrlGrid.DataSource.DataSet.EnableControls;

вообще нет никакого поиска.
Если убрать DisableControls и EnableControls, то "мелькание" и поиск.


 
ЮЮ ©   (2004-04-21 09:35) [6]

>if (AnsiPos(...)) then  break;

А точно в Query ищешь, а не в каком нибудь DBControle ?


 
Johnmen ©   (2004-04-21 09:38) [7]

Враньё... Не может такого быть...

Query.DisableControls;
<поиск в Query>
Query.EnableControls;


 
Fishka   (2004-04-21 09:42) [8]

Точно в Query ищу. И без всяких наворотов все нормально. Но мне нужно сократить время поиска и убрать "мелькание", у заказчика Pentium 1 с очень слабыми характеристиками.


 
Соловьев ©   (2004-04-21 10:05) [9]


> Johnmen ©   (20.04.04 17:44) [4]
> DisableControls;
> <поиск>
> EnableControls;
> и ничего более...:)

Желательно еще и закладку поставить - вдруг ничего не найдет?


 
Fishka   (2004-04-21 11:03) [10]

Johnmen ©   (21.04.04 09:38) [7]
Враньё... Не может такого быть...

Ну зачем так грубо, ошибка была в другом (if ... begin ... end не так написан был). Но как было написано в самом вопросе, именно с DBCtrlGrid.DataSource.DataSet.DisableControls; все попытки начинались отключить "мелькание".
Спасибо, все получилось с DisableControls.



Страницы: 1 вся ветка

Текущий архив: 2004.05.16;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.023 c
14-1082726500
7@ua
2004-04-23 17:21
2004.05.16
работа с базой данных в Делфи


4-1080402288
kentavr
2004-03-27 18:44
2004.05.16
SendMESSAGE


7-1080733780
binr
2004-03-31 15:49
2004.05.16
Работа с RS-232


7-1081155835
Azazzello
2004-04-05 13:03
2004.05.16
Как узнать сводобное место на диске.


3-1082561117
mur
2004-04-21 19:25
2004.05.16
ещё раз про поиск через SQL