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

Вниз

Быстрый поиск по первым символам   Найти похожие ветки 

 
Alexey Leonchik   (2004-06-30 03:42) [0]

Подскажите пожалуйста...

Как организовать быстрый поиск по первым введенным символам  по базе данных товара. Есть просто поле ввода, куда будут вводиться символы, а в гриде курсор устанавливается на ближайшую запись. Может ссылку на пример...

С уважением Алексей Леончик


 
Наталия ©   (2004-06-30 06:10) [1]

Locate


 
Alexey Leonchik   (2004-06-30 07:13) [2]

Наталия! Спасибо за Locate - все работает просто замечательно :)))

С уважением Алексей Леончик


 
Alexey Leonchik   (2004-06-30 07:48) [3]

P.S. А не подскажет ли кто, что нужно сделать, чтобы найденная строка была выделена вся, когда просто перемещаемся по данным она вся выделена, а когда произвели поиск по Locate - устанавливается указатель на запись (маленький такой треугольничик слева) а строка не выделяется :(

С уважением Алексей Леончик


 
Соловьев ©   (2004-06-30 09:50) [4]

DBGrid.Setfocus; ?


 
Курдль ©   (2004-06-30 09:59) [5]

А если записей, у которых совпадают первые символы в каком-то поле, окажется несколько? Юзер так и не увидит более одной найденной? Мне кажется, что здесь уместнее фильтрация, а не поиск.
(Filtered + OnFilterRecord)


 
Anatoly Podgoretsky ©   (2004-06-30 10:02) [6]

И заодно можно не только по первым символам.
Фильтрация или SQL запросом или OnFilterRecord для данного случая


 
Курдль ©   (2004-06-30 10:10) [7]

Кстати, функцию поиска "по первым символам" и "продолжения поиска" осилит и продвинутый грид типа dxDBGrid (наверное и DBGridEh). А вот фильтр по любому фрагменту поля, как верно заметил Anatoly Podgoretsky ©   (30.06.04 10:02) [6], приходится делать самому.


 
Anatoly Podgoretsky ©   (2004-06-30 10:19) [8]

И можно сделать красиво, без поля ввода, по текущему полю, с задержкой по таймеру и возможным ограничением на минимальное количество символов. Очень удобно и интуитивно понятно.


 
Курдль ©   (2004-06-30 10:22) [9]

Да, еще в тему :)  Если ищешь юр. лица по "первым символам", есть опасность нарваться на 1 000 000 записей с первыми символами "Общество с ограниченной ответственностью", а остальные - "Открытое акционерное общество". Вот и пиши все эти "перыве символы"! :)


 
Anatoly Podgoretsky ©   (2004-06-30 10:37) [10]

Курдль ©   (30.06.04 10:22) [9]
Такой опасности нет, такая опасность существует только при фильтрации, при поиске у него уже набор с этим и с другим тоже.


 
Mim1 ©   (2004-06-30 10:37) [11]

[9] Курдль ©   (30.06.04 10:22)
Думается что имя юрлица это другое. А это его аттрибут.


 
Наталия ©   (2004-06-30 12:49) [12]

"Фантазеры" Н.Носов  :)))


 
Курдль ©   (2004-06-30 14:25) [13]

Для кого - фантазеры. А для кого-то мимоходом прописали часть пользовательского интерфейса, с указанием возможных препятствий.
Все зависит от того, кто зачем сюда зашел :)


 
DSKalugin ©   (2004-06-30 16:51) [14]

procedure TfmECatalog.edFindChange(Sender: TObject);
begin
 if edFind.Text<>"" then begin
   if not tb_catalog.Locate("Detail_number",edFind.Text,[loPartialKey])
   then Beep
 end
 else tb_catalog.First;
end;


 
Alexey Leonchik   (2004-07-01 06:51) [15]

Большое всем СПАСИБО за ответы :)
Не ожидал, что будет такой отклик...

С уважением Алексей Леончик



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

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

Наверх




Память: 0.5 MB
Время: 0.047 c
3-1088538314
Studentik
2004-06-29 23:45
2004.07.25
Не могу создать индекс...


1-1089552359
Tahion2
2004-07-11 17:25
2004.07.25
Добавить прозрачную Label на CoolBar без полосы.


1-1089601985
Kost
2004-07-12 07:13
2004.07.25
Взаимозависимые классы


3-1088851968
ZedeS!
2004-07-03 14:52
2004.07.25
Удаление записей через ADOTable


3-1088127214
Dim!S
2004-06-25 05:33
2004.07.25
Фильтрация связанных таблиц