Форум: "Базы";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.032 c