Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.07.25;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.042 c
14-1089226754
oblom
2004-07-07 22:59
2004.07.25
помогите найти работу в Донецке


3-1088473351
bigfoot
2004-06-29 05:42
2004.07.25
DBGrid + XML


4-1086149145
Newbe
2004-06-02 08:05
2004.07.25
Именение рабочей области как это делает панель office


1-1089238481
Zvr@b
2004-07-08 02:14
2004.07.25
Как задать диапазон для Random?


1-1089688636
ksa2002
2004-07-13 07:17
2004.07.25
Qreport





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский