Вниз
Скачать: CL | DM;

Поиск в DBGrid   Найти похожие ветки 

← →
Sanya ©   (2004-11-29 13:54) [0]

Доброго времени суток, скажите пожалуйста как найти текст в DBGrid который написан в Edit но при этом остальной текст должен исчезнуть.


← →
Vlad ©   (2004-11-29 14:03) [1]


> Sanya ©   (29.11.04 13:54)  

Искать надо не в DBGrid, а в связанном с ним DataSet"e.

Причем судя по этому

> при этом остальной текст должен исчезнуть.

тебе нужна фильтрация, а не поиск.
используй событие TDataSet.OnFilterRecord


← →
Sanya ©   (2004-11-29 14:08) [2]

Vlad
Знал бы я ещё что там писать. Мне всего 13 лет.Если сможите пришлите этот код.


← →
Vlad ©   (2004-11-29 14:12) [3]


> Sanya ©   (29.11.04 14:08) [2]

ну например так:
Accept := (DataSet.FieldByName("XXX").AsString = Edit1.Text);

p.s. а что нынче в 13 лет книги читать не умеют?


← →
Sanya ©   (2004-11-29 14:16) [4]

Спасибо за код.
p.s. Умеют, только в нашем городе нет таких.


← →
Sanya ©   (2004-11-29 15:16) [5]

Vlad ©  
Извините но этот код не работает.
Может есть другой?


← →
Алхимик ©   (2004-11-29 15:26) [6]

XXX на название поля поменял?
:)


← →
Sanya ©   (2004-11-29 15:28) [7]

Алхимик ©
Да.


← →
Vlad ©   (2004-11-29 15:39) [8]


> Sanya ©   (29.11.04 15:28) [7]

Что не работает? Не компилируется? Не фильтрует? Дает ошибку? Какую? Как делаешь (пример кода) ?

p.s.Извиняюсь за настойчивость, но все-таки работа с Delphi подразумевает прочтение некоторой литературы...


← →
Sanya ©   (2004-11-29 16:04) [9]

Алхимик ©
1.Он не ищет текст.
2.Не фильтрует.
3.Вобщем не чего не происходит.


← →
Vlad ©   (2004-11-29 16:07) [10]


> Sanya ©   (29.11.04 16:04) [9]

для того чтоб фильтровал, нужно у набора данных свойство Filtered установить в True.


← →
Amoeba ©   (2004-11-29 16:13) [11]

Насчет проблем с литературой. На сайте Анатолия Подгорецкого есть изрядное количество книг в электронном виде для скачивания:
http://podgoretsky.com/lang.html


← →
Sanya ©   (2004-11-29 16:18) [12]

Vlad ©  
А как на счёт поиска?


← →
Vlad ©   (2004-11-29 16:27) [13]


> Sanya ©   (29.11.04 16:18) [12]


> А как на счёт поиска?


TDataSet.Locate (см. справку)


← →
Tornado ©   (2004-11-29 16:36) [14]

DataSet.Locate("name", txtKonSearch.Text,[loCaseInsensitive,LoparTialKey])

это пишешь в событии onChange текстового поля


← →
Sanya ©   (2004-11-29 16:53) [15]

Tornado ©   (29.11.04 16:36)
DataSet.Locate"name",txtKonSearch.Text,loCaseInsensitive,LoparTialKey]) не работает Delphi ругается на DataSet.Locate.


← →
Sanya ©   (2004-11-29 17:06) [16]

Может есть что нибуть другое.


← →
Vlad ©   (2004-11-29 17:18) [17]


> 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-30 16:57) [18]

Vlad ©  
Спосибо за код но это слишком долго и не удобно.
Лучше помогите разобраться с предыдущем.


← →
DuchmanSoft ©   (2004-11-30 18:15) [19]

Фильтрация:
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;


← →
Vlad ©   (2004-11-30 18:33) [20]


> Sanya ©   (30.11.04 16:57) [18]


> Лучше помогите разобраться с предыдущем.

Задай конкретный вопрос - получишь конкретный ответ.
А пока что даже постановка неясна, т.е. что тебе нужно - фильтрация или поиск?



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

Скачать: CL | DM;



Память: 0.49 MB
Время: 0.028 c
14-1102590673
Dmitriy O.
2004-12-09 14:11
2004.12.26
Как оботи требование вставить CD диск для запуска ?


1-1103092428
AlexVM
2004-12-15 09:33
2004.12.26
RemObjects PascalScript...


1-1102735311
GreyOl
2004-12-11 06:21
2004.12.26
Подскажите, пожалуйста, как сравнить несколько дат


1-1102841605
Russko
2004-12-12 11:53
2004.12.26
Проверка на существование формы


4-1100009768
Anonimus
2004-11-09 17:16
2004.12.26
Миниатюра как для файлов Фотошопа




   Наверх