![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Быстрый поиск по первым символам [D5, Paradox]
Alexey Leonchik © (2004-06-30 03:42:00)Подскажите пожалуйста...
Как организовать быстрый поиск по первым введенным символам по базе данных товара. Есть просто поле ввода, куда будут вводиться символы, а в гриде курсор устанавливается на ближайшую запись. Может ссылку на пример...
С уважением Алексей Леончик
Alexey Leonchik (2004-07-01 06:51:00) [1]Большое всем СПАСИБО за ответы :)
Не ожидал, что будет такой отклик...
С уважением Алексей Леончик
DSKalugin (2004-06-30 16:51:00) [2]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;
Курдль (2004-06-30 14:25:00) [3]Для кого - фантазеры. А для кого-то мимоходом прописали часть пользовательского интерфейса, с указанием возможных препятствий.
Все зависит от того, кто зачем сюда зашел :)
Наталия (2004-06-30 12:49:00) [4]"Фантазеры" Н.Носов :)))
Anatoly Podgoretsky (2004-06-30 10:37:00) [5]Курдль © (30.06.04 10:22) [9]
Такой опасности нет, такая опасность существует только при фильтрации, при поиске у него уже набор с этим и с другим тоже.
Mim1 (2004-06-30 10:37:00) [6][9] Курдль © (30.06.04 10:22)
Думается что имя юрлица это другое. А это его аттрибут.
Курдль (2004-06-30 10:22:00) [7]Да, еще в тему :) Если ищешь юр. лица по "первым символам", есть опасность нарваться на 1 000 000 записей с первыми символами "Общество с ограниченной ответственностью", а остальные - "Открытое акционерное общество". Вот и пиши все эти "перыве символы"! :)
Anatoly Podgoretsky (2004-06-30 10:19:00) [8]И можно сделать красиво, без поля ввода, по текущему полю, с задержкой по таймеру и возможным ограничением на минимальное количество символов. Очень удобно и интуитивно понятно.
Курдль (2004-06-30 10:10:00) [9]Кстати, функцию поиска "по первым символам" и "продолжения поиска" осилит и продвинутый грид типа dxDBGrid (наверное и DBGridEh). А вот фильтр по любому фрагменту поля, как верно заметил Anatoly Podgoretsky © (30.06.04 10:02) [6], приходится делать самому.
Anatoly Podgoretsky (2004-06-30 10:02:00) [10]И заодно можно не только по первым символам.
Фильтрация или SQL запросом или OnFilterRecord для данного случая
Курдль (2004-06-30 09:59:00) [11]А если записей, у которых совпадают первые символы в каком-то поле, окажется несколько? Юзер так и не увидит более одной найденной? Мне кажется, что здесь уместнее фильтрация, а не поиск.
(Filtered + OnFilterRecord)
Соловьев (2004-06-30 09:50:00) [12]DBGrid.Setfocus; ?
Alexey Leonchik (2004-06-30 07:48:00) [13]P.S. А не подскажет ли кто, что нужно сделать, чтобы найденная строка была выделена вся, когда просто перемещаемся по данным она вся выделена, а когда произвели поиск по Locate - устанавливается указатель на запись (маленький такой треугольничик слева) а строка не выделяется :(
С уважением Алексей Леончик
Alexey Leonchik (2004-06-30 07:13:00) [14]Наталия! Спасибо за Locate - все работает просто замечательно :)))
С уважением Алексей Леончик
Наталия (2004-06-30 06:10:00) [15]Locate