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

Вниз

Пошаговый поиск по таблице.   Найти похожие ветки 

 
Слава-АБС ©   (2005-10-13 13:57) [0]

Уважаемые мастера! Подскажите с идеей алгоритма пошагового поиска по dbgrid.
Это когда допустим, я ищу слово "ELASTIC" и набираю E-L-A и т.д. По мере ввода символов при каждом приращении в комбинации набранных букв ищется соответствующее им слово. Иначе говоря, сначала ищется первое слово, начинающееся на E, далее первое слово, начинающееся на EL, и т.д.

В Visual FOX есть функция IncrementalSearch, а в Delphi?


 
Seg   (2005-10-13 14:04) [1]

В Дельфи есть Locate


 
Sergey13 ©   (2005-10-13 14:04) [2]

Полистай форум. Каждую неделю наверное этот вопрос задается.


 
ANB ©   (2005-10-13 14:08) [3]


> Слава-АБС ©   (13.10.05 13:57)

В элибовском гриде такая функциональность встроена.


 
ANB ©   (2005-10-13 14:09) [4]

В смысле эхлибовском.


 
Ega23 ©   (2005-10-13 14:13) [5]

В Edit1.OnChange пишем
DBGrid.DataSource.DataSet.Locate(имя_поля, Edit1.Text, [])


 
Amoeba ©   (2005-10-13 14:41) [6]

Удалено модератором
Примечание: Автор не разрешал приводить пароль где либо


 
msguns ©   (2005-10-13 14:47) [7]

>Ega23 ©   (13.10.05 14:13) [5]
>В Edit1.OnChange пишем
DBGrid.DataSource.DataSet.Locate(имя_поля, Edit1.Text, [])

А если в эдите нет ничего ?


 
Слава-АБС ©   (2005-10-13 15:32) [8]

Уточнил, оказывается это называется инкрементный поиск.
А вот исходник от Ega23, не совсем то.
Я хотел, когда именно в гриде набираешь, чтобы шло перемещение...


 
Anatoly Podgoretsky ©   (2005-10-13 15:35) [9]

Как раз то


 
Sergey13 ©   (2005-10-13 15:44) [10]

2 [8] Слава-АБС ©   (13.10.05 15:32)
>Я хотел, когда именно в гриде набираешь, чтобы шло перемещение...
Это как это? Ты в нем набираешь (в конкретной ячейке, заметь, иначе где? ), а он перемещается (т.е. активная запись меняется). Как ты себе это представляешь?


 
Sergey13 ©   (2005-10-13 15:49) [11]

2[8] Слава-АБС ©   (13.10.05 15:32)
А ты случайно не про поиск в выпадающем списке?


 
Ega23 ©   (2005-10-13 15:57) [12]

Если стоя на гриде, на определённом столбце - тоже можно. Идея такая - заводишь буффер, в которое буквы пишешь, по этому столбцу делаешь Locate. При переходе на другой столбец - обнуляешь буффер.

2 msguns ©   (13.10.05 14:47) [7]

> А если в эдите нет ничего ?


if Edit1.Text<>"" then DBGrid.DataSource.DataSet.Locate(имя_поля, Edit1.Text, [])

Устроит?   :о)


 
Sergey13 ©   (2005-10-13 16:02) [13]

2[12] Ega23 ©   (13.10.05 15:57)
Неудобно печатать в пустоте. Не видно ничего. 8-)


 
Ega23 ©   (2005-10-13 16:03) [14]


> Неудобно печатать в пустоте. Не видно ничего. 8-)
>


Я в StatusBar строку поиска вывожу. Нормально.


 
Слава-АБС ©   (2005-10-13 16:49) [15]

На DBGrid1KeyPress посадил
if not(key in["0".."9"]) then key:=#27;
FS:=FS+key;
DBGrid1.DataSource.DataSet.Locate("ACCOUNT", FS, [loPartialKey]);

2Sergey13 Переходит по записям нормально, именно так как представлял, осталась одна фича, как менять цвет фона? В StatusBar не совсем красиво выводить вводимые данные, а желание такое, если набрал одну цифру, то у нее фон меняется, если 2 то фон меняется у двух и т.д.


 
evvcom ©   (2005-10-13 17:15) [16]


> В элибовском гриде такая функциональность встроена.

У... а в QuantumGrid-е как это встроено...! Можно даже к следующей/предыдущей записи, удовлетворяющей набранному, переходить, не набирая дополнительного символа.



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

Форум: "Начинающим";
Текущий архив: 2005.11.06;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.036 c
2-1129390093
rainface
2005-10-15 19:28
2005.11.06
TADOtalble,DBgrig


14-1129287728
! Han!
2005-10-14 15:02
2005.11.06
Материал


9-1118904983
DGT
2005-06-16 10:56
2005.11.06
Vertex lighting in Glscene


2-1129298933
roma40
2005-10-14 18:08
2005.11.06
интернет


3-1127119796
worldmen
2005-09-19 12:49
2005.11.06
SQL для 3-х таблиц ?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский