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

Вниз

Фильтр таблицы   Найти похожие ветки 

 
Steplerr ©   (2006-04-07 19:31) [0]

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


 
mr.il ©   (2006-04-07 19:48) [1]

Почитай хелп про фильтрацию. Или пользуй sql.


 
Рустем ©   (2006-04-07 20:21) [2]


> Steplerr ©

Для начала советую использовать TADODataSet. Далее в событии OnChange компонента TEdit прописать следующее:

procedure TForm.EditChange(Sender: TObject);
begin
 with ADODataSet do
 begin
   Close;
   CommandText := "SELECT * FROM MyTable WHERE MyField LIKE "" + Edit.Text + "%"";
   Open;
 end;
end;

Кроме того, возможно тебе понадобится такая функция, как AnsiUpperCase. И в идеале желательно использовать таймер...


 
Desdechado ©   (2006-04-07 20:50) [3]

> в событии OnChange компонента TEdit
не делай так, умрешь

> в идеале желательно использовать таймер
еще один мертворожденный совет

автору
на первой же странице
http://delphimaster.net/view/3-1144406589/


 
Mike Kouzmine ©   (2006-04-07 23:51) [4]

Desdechado ©   (07.04.06 20:50) [3] > в идеале желательно использовать таймер
еще один мертворожденный совет

Почему?


 
Плохиш ©   (2006-04-08 04:04) [5]

А я тоже не понял каким боком здесь таймер?


 
Рустем ©   (2006-04-08 12:31) [6]


> Плохиш ©   (08.04.06 04:04) [5]
> А я тоже не понял каким боком здесь таймер?

Открой Delphi, нажми клавишу F1, нажми кнопочку "Вызов справки", перейди на закладку "Поиск" и попробуй в строке поиска без пауз набрать несколько символов...поиск будет осуществляться после паузы (по умолчанию параметров поиска).


> Desdechado ©   (07.04.06 20:50) [3]
> > в событии OnChange компонента TEdit
> не делай так, умрешь

Аргументировать надо!


 
Anatoly Podgoretsky ©   (2006-04-08 12:32) [7]

Таймер нужен, чтобы не умереть. Не надо на каждый чих делать запрос.


 
Mike Kouzmine ©   (2006-04-08 16:06) [8]

Anatoly Podgoretsky ©   (08.04.06 12:32) [7] Я и спрашиваю, почему
Desdechado ©   (07.04.06 20:50) [3]
> в идеале желательно использовать таймер
еще один мертворожденный совет


 
Anatoly Podgoretsky ©   (2006-04-08 19:40) [9]

Без таймера придется делать запрос на каждый чих, с таймером по паузе.
Очень полезно, если в состоянии нажимать клавиши со скоротью паузы.


 
Anatoly Podgoretsky ©   (2006-04-08 19:40) [10]

В дополнение так работает весь виндус, например при навигации или поиска в проводнике


 
Desdechado ©   (2006-04-08 21:18) [11]

Не вижу смысла обрабатывать паузы между нажатиями. Глупо ожидать от пользователя равномерности нажатия, он ведь и букву на клаве может не сразу найти, да и траффик при таком подходе ужасный.
Самый нормальный подход: набрал комбинацию, нажал кнопку, получил ответ. Не понравилось - изменил, до/перенабрал, нажал кнопку, получил ответ. Иное, имхо, от лукавого.


 
Anatoly Podgoretsky ©   (2006-04-08 22:24) [12]

Desdechado ©   (08.04.06 21:18) [11]
Те кто не в состоянии, не смогут воспользоваться преимуществами таймера и для них не будет разницы. Вариант с кнопкой "выполнить" также имеет право на существование.


 
Desdechado ©   (2006-04-09 20:14) [13]

> Те кто не в состоянии
если это камень в мой огород, то я в состоянии, только смысла не вижу именно в этом случае
хотя и пользуюсь иногда задержками подобного рода


 
Anatoly Podgoretsky ©   (2006-04-09 20:19) [14]

Desdechado ©   (09.04.06 20:14) [13]
Всему свое место, в данном случае таймер не помешает, а поможет, но если он введет кнопку то таймер будет лишним. Еще более полезен данный таймер в связи мастер/детайл при навигации.


 
Desdechado ©   (2006-04-09 20:34) [15]

при мастер-детальной связке все еще хуже с таймером-то
трафик растет экспоненциально, а это плохо


 
Desdechado ©   (2006-04-09 20:34) [16]

Удалено модератором


 
Desdechado ©   (2006-04-09 20:36) [17]

сорри за дубль
но зато обнаружилось, как они появляются
/оффтоп
Если ввести пароль и нажать кнопку, то страница переоткрывается не сразу. А случайное нажатие кнопки повторно (или более) вызывает очередное добавление поста.
/оффтоп



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

Форум: "Базы";
Текущий архив: 2006.05.28;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.012 c
2-1147185339
HBZ
2006-05-09 18:35
2006.05.28
Использование DLL


4-1141714583
Новичоккк
2006-03-07 09:56
2006.05.28
Перехватить вызов функции из DLL


2-1147343353
legran
2006-05-11 14:29
2006.05.28
Перехват сообщений чужому окну D2005


15-1146811361
Rulikkk
2006-05-05 10:42
2006.05.28
Ищу openSource компонент, для отображения блок схем.


2-1147196525
Zikmu
2006-05-09 21:42
2006.05.28
Thumbnails





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