![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Фильтр таблицы [D7, WinXP]
Steplerr © (2006-04-07 19:31:00)Может быть тупой вопрос, но помогите пожалуйста. Имеется таблица и поле для ввода текста. Как сделать так, чтобы при изменении текста в поле в таблице отображались только значения начинающиеся с символов из поля?
Использовал ADOTable.
Desdechado (2006-04-09 20:36:00) [1]сорри за дубль
но зато обнаружилось, как они появляются
/оффтоп
Если ввести пароль и нажать кнопку, то страница переоткрывается не сразу. А случайное нажатие кнопки повторно (или более) вызывает очередное добавление поста.
/оффтоп
Desdechado (2006-04-09 20:34:00) [2]Удалено модератором
Desdechado (2006-04-09 20:34:00) [3]при мастер-детальной связке все еще хуже с таймером-то
трафик растет экспоненциально, а это плохо
Anatoly Podgoretsky (2006-04-09 20:19:00) [4]Desdechado © (09.04.06 20:14) [13]
Всему свое место, в данном случае таймер не помешает, а поможет, но если он введет кнопку то таймер будет лишним. Еще более полезен данный таймер в связи мастер/детайл при навигации.
Desdechado (2006-04-09 20:14:00) [5]> Те кто не в состоянии
если это камень в мой огород, то я в состоянии, только смысла не вижу именно в этом случае
хотя и пользуюсь иногда задержками подобного рода
Anatoly Podgoretsky (2006-04-08 22:24:00) [6]Desdechado © (08.04.06 21:18) [11]
Те кто не в состоянии, не смогут воспользоваться преимуществами таймера и для них не будет разницы. Вариант с кнопкой "выполнить" также имеет право на существование.
Desdechado (2006-04-08 21:18:00) [7]Не вижу смысла обрабатывать паузы между нажатиями. Глупо ожидать от пользователя равномерности нажатия, он ведь и букву на клаве может не сразу найти, да и траффик при таком подходе ужасный.
Самый нормальный подход: набрал комбинацию, нажал кнопку, получил ответ. Не понравилось - изменил, до/перенабрал, нажал кнопку, получил ответ. Иное, имхо, от лукавого.
Anatoly Podgoretsky (2006-04-08 19:40:00) [8]Без таймера придется делать запрос на каждый чих, с таймером по паузе.
Очень полезно, если в состоянии нажимать клавиши со скоротью паузы.
Anatoly Podgoretsky (2006-04-08 19:40:00) [9]В дополнение так работает весь виндус, например при навигации или поиска в проводнике
Mike Kouzmine (2006-04-08 16:06:00) [10]Anatoly Podgoretsky © (08.04.06 12:32) [7] Я и спрашиваю, почему
Desdechado © (07.04.06 20:50) [3]
> в идеале желательно использовать таймер
еще один мертворожденный совет
Anatoly Podgoretsky (2006-04-08 12:32:00) [11]Таймер нужен, чтобы не умереть. Не надо на каждый чих делать запрос.
Рустем (2006-04-08 12:31:00) [12]
> Плохиш © (08.04.06 04:04) [5]
> А я тоже не понял каким боком здесь таймер?
Открой Delphi, нажми клавишу F1, нажми кнопочку "Вызов справки", перейди на закладку "Поиск" и попробуй в строке поиска без пауз набрать несколько символов...поиск будет осуществляться после паузы (по умолчанию параметров поиска).
> Desdechado © (07.04.06 20:50) [3]
> > в событии OnChange компонента TEdit
> не делай так, умрешь
Аргументировать надо!
Плохиш (2006-04-08 04:04:00) [13]А я тоже не понял каким боком здесь таймер?
Mike Kouzmine (2006-04-07 23:51:00) [14]Desdechado © (07.04.06 20:50) [3] > в идеале желательно использовать таймер
еще один мертворожденный совет
Почему?
Desdechado (2006-04-07 20:50:00) [15]> в событии OnChange компонента TEdit
не делай так, умрешь
> в идеале желательно использовать таймер
еще один мертворожденный совет
автору
на первой же странице
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1144406589&n=1
Рустем (2006-04-07 20:21:00) [16]
> 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. И в идеале желательно использовать таймер...
mr.il (2006-04-07 19:48:00) [17]Почитай хелп про фильтрацию. Или пользуй sql.