![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Поиск в DBGrid [D7, WinME]
Sanya © (2004-11-29 13:54:00)Доброго времени суток, скажите пожалуйста как найти текст в DBGrid который написан в Edit но при этом остальной текст должен исчезнуть.
Vlad (2004-11-30 18:33:00) [1]
> Sanya © (30.11.04 16:57) [18]
> Лучше помогите разобраться с предыдущем.
Задай конкретный вопрос - получишь конкретный ответ.
А пока что даже постановка неясна, т.е. что тебе нужно - фильтрация или поиск?
DuchmanSoft (2004-11-30 18:15:00) [2]Фильтрация:
Table1.Filtered:=True;
Table1.Filter:='Имя колонки='+Chr(39) + 'текст фильтра' + Chr(39);
Поиск:
Table1.First;
For I:=0 To Table1.RecordCount-1 do
begin
if Table1.FindField('ModelTel').Text = Edit1.Text Then
MessageDlg('То что хотели найти!', mtWarning, [mbOK], 0);
Form1.Table3.Next;
end;
Sanya (2004-11-30 16:57:00) [3]Vlad ©
Спосибо за код но это слишком долго и не удобно.
Лучше помогите разобраться с предыдущем.
Vlad (2004-11-29 17:18:00) [4]
> Sanya © (29.11.04 17:06) [16]
> Может есть что нибуть другое.
есть.
while not Query.Eof do
begin
if (Query.FieldByName('XXX').AsString = Edit1.Text) then
Break
else
Query.Next;
end;
Sanya (2004-11-29 17:06:00) [5]Может есть что нибуть другое.
Sanya (2004-11-29 16:53:00) [6]Tornado © (29.11.04 16:36)
DataSet.Locate'name',txtKonSearch.Text,loCaseInsensitive,LoparTialKey]) не работает Delphi ругается на DataSet.Locate.
Tornado (2004-11-29 16:36:00) [7]DataSet.Locate('name', txtKonSearch.Text,[loCaseInsensitive,LoparTialKey])
это пишешь в событии onChange текстового поля
Vlad (2004-11-29 16:27:00) [8]
> Sanya © (29.11.04 16:18) [12]
> А как на счёт поиска?
TDataSet.Locate (см. справку)
Sanya (2004-11-29 16:18:00) [9]Vlad ©
А как на счёт поиска?
Amoeba (2004-11-29 16:13:00) [10]Насчет проблем с литературой. На сайте Анатолия Подгорецкого есть изрядное количество книг в электронном виде для скачивания:
http://podgoretsky.com/lang.html
Vlad (2004-11-29 16:07:00) [11]
> Sanya © (29.11.04 16:04) [9]
для того чтоб фильтровал, нужно у набора данных свойство Filtered установить в True.
Sanya (2004-11-29 16:04:00) [12]Алхимик ©
1.Он не ищет текст.
2.Не фильтрует.
3.Вобщем не чего не происходит.
Vlad (2004-11-29 15:39:00) [13]
> Sanya © (29.11.04 15:28) [7]
Что не работает? Не компилируется? Не фильтрует? Дает ошибку? Какую? Как делаешь (пример кода) ?
p.s.Извиняюсь за настойчивость, но все-таки работа с Delphi подразумевает прочтение некоторой литературы...
Sanya (2004-11-29 15:28:00) [14]Алхимик ©
Да.
Алхимик (2004-11-29 15:26:00) [15]XXX на название поля поменял?
:)
Sanya (2004-11-29 15:16:00) [16]Vlad ©
Извините но этот код не работает.
Может есть другой?
Sanya (2004-11-29 14:16:00) [17]Спасибо за код.
p.s. Умеют, только в нашем городе нет таких.
Vlad (2004-11-29 14:12:00) [18]
> Sanya © (29.11.04 14:08) [2]
ну например так:
Accept := (DataSet.FieldByName('XXX').AsString = Edit1.Text);
p.s. а что нынче в 13 лет книги читать не умеют?
Sanya (2004-11-29 14:08:00) [19]Vlad
Знал бы я ещё что там писать. Мне всего 13 лет.Если сможите пришлите этот код.
Vlad (2004-11-29 14:03:00) [20]
> Sanya © (29.11.04 13:54)
Искать надо не в DBGrid, а в связанном с ним DataSet'e.
Причем судя по этому
> при этом остальной текст должен исчезнуть.
тебе нужна фильтрация, а не поиск.
используй событие TDataSet.OnFilterRecord