Delphi 7. Неудается выполнить поиск
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
Delphi 7. Неудается выполнить поиск - 2008-06-03 07:00:30.560000
|
|
|
BolXB
Сообщений: 23
Оценки: 0
Присоединился: 2008-05-14 11:11:31.813333
|
Помогите плиз написать поиск. Есть три LabelEdit, при вводе имени в dbGrid должна отобрахаться искомая строка с фокусировкой на ней.
|
|
|
RE: Delphi 7. Неудается выполнить поиск - 2008-06-03 09:21:42.376666
|
|
|
DEMONirk
Сообщений: 46
Оценки: 0
Присоединился: 2008-02-28 16:24:11.623333
|
А ищешь где в строке или в файле? И вообще в кратце где применяеться?
|
|
|
RE: Delphi 7. Неудается выполнить поиск - 2008-06-03 11:26:39.036666
|
|
|
BolXB
Сообщений: 23
Оценки: 0
Присоединился: 2008-05-14 11:11:31.813333
|
в строке таблицы
|
|
|
RE: Delphi 7. Неудается выполнить поиск - 2008-06-04 17:43:54.183333
|
|
|
_SaZ_
Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
|
del this message, pls
|
|
|
RE: Delphi 7. Неудается выполнить поиск - 2008-06-04 20:52:30.606666
|
|
|
alexbozhko
Сообщений: 1024
Оценки: 0
Присоединился: 2005-11-24 13:35:34
|
Молодой человек, учите мат. часть. Намекаю, класс TDataSet метод Locate
|
|
|
RE: Delphi 7. Неудается выполнить поиск - 2008-06-05 04:36:49.500000
|
|
|
BolXB
Сообщений: 23
Оценки: 0
Присоединился: 2008-05-14 11:11:31.813333
|
все это очень хорошо. вот только проблема не в том чтобы подкличьтбся к таблице, а в том что у меня в labeledit, не вводятся данные поиска.
|
|
|
RE: Delphi 7. Неудается выполнить поиск - 2008-06-05 05:31:46.216666
|
|
|
BolXB
Сообщений: 23
Оценки: 0
Присоединился: 2008-05-14 11:11:31.813333
|
procedure TfmSpisok.edLastnChange(Sender: TObject); var KeyFields: string; KeyValues: Variant; Options: TLocateOptions; begin with dmOft do begin //if (edLastn.Text and edFirstn.Text) then MessageDlg('Íå çàäàíû óñëîâèÿ ïîèñêà', mtInformation, [mbOK], 0); exit; KeyFields := 'LastName;First_Name;Father_Name'; KeyValues := VarArrayOf([edLastn.Text, edFirstn.Text]); Options := [loCaseInsensitive, loPartialKey]; if Pacient.Locate(KeyFields, KeyValues, Options) then begin Beep; MessageDlg('Çàïèñü íå íàéäåíà!', mtInformation, [mbOK], 0); exit; end; end; end;
|
|
|
RE: Delphi 7. Неудается выполнить поиск - 2008-06-05 11:53:28.073333
|
|
|
alexbozhko
Сообщений: 1024
Оценки: 0
Присоединился: 2005-11-24 13:35:34
|
quote:
ORIGINAL: BolXB procedure TfmSpisok.edLastnChange(Sender: TObject); var KeyFields: string; KeyValues: Variant; Options: TLocateOptions; begin with dmOft do begin //if (edLastn.Text and edFirstn.Text) then MessageDlg('Íå çàäàíû óñëîâèÿ ïîèñêà', mtInformation, [mbOK], 0); exit; KeyFields := 'LastName;First_Name;Father_Name'; KeyValues := VarArrayOf([edLastn.Text, edFirstn.Text]); Options := [loCaseInsensitive, loPartialKey]; if Pacient.Locate(KeyFields, KeyValues, Options) then begin Beep; MessageDlg('Çàïèñü íå íàéäåíà!', mtInformation, [mbOK], 0); exit; end; end; end; Мы говорим о поиске или о фильтре? В результате выполнения метода Locate активной станет первая запись, удовлетворяющая условию. Т.е. в гриде курсор прыгнет именно туда. И тогда просто пишем
ShowMessage(Pacient.FieldByName('FirstName').AsString+' <ну и остальные поля...>');
А если нужно отсечь записи, не удовлетворяющие условию, а оставить только нужные, то делаем так
Pacient.Filter:='(LastName='Пупкин') and (First_Name='Вася)';
Pacient.Filtered:=true;
|
|
|
RE: Delphi 7. Неудается выполнить поиск - 2008-06-06 09:40:36.150000
|
|
|
BolXB
Сообщений: 23
Оценки: 0
Присоединился: 2008-05-14 11:11:31.813333
|
а как подключить LabelEdit к dbGrid?
|
|
|
RE: Delphi 7. Неудается выполнить поиск - 2008-06-06 13:35:39.023333
|
|
|
alexbozhko
Сообщений: 1024
Оценки: 0
Присоединился: 2005-11-24 13:35:34
|
quote:
ORIGINAL: BolXB а как подключить LabelEdit к dbGrid? Э… Я тут вообще сути не понял Используй TDBEdit Или TDBLabel. Короче что-либо из вкладки DataControls.
|
|
|
RE: Delphi 7. Неудается выполнить поиск - 2008-06-09 09:37:55.496666
|
|
|
BolXB
Сообщений: 23
Оценки: 0
Присоединился: 2008-05-14 11:11:31.813333
|
что не понятно я пытаюсь выполнить поиск в dbGrid через LabekEdit
|
|
|
RE: Delphi 7. Неудается выполнить поиск - 2008-06-09 13:38:13.963333
|
|
|
alexbozhko
Сообщений: 1024
Оценки: 0
Присоединился: 2005-11-24 13:35:34
|
Это мне не понятно, что же ты хочешь. Непосредственно в DBGrid ни поиск ни фильтрацию не делают. Это делается в DataSet (в твоем случае DataSet - это IBTable )
|
|
|
RE: Delphi 7. Неудается выполнить поиск - 2008-06-11 12:08:42.556666
|
|
|
BolXB
Сообщений: 23
Оценки: 0
Присоединился: 2008-05-14 11:11:31.813333
|
это я уже давно сделал. но небудет же коненчный пользователь лазеть по исходному коду и настраивать IBTable? правильно? поэтому нужно не посредственно где то вводить информацию, в моем случае это LabekEdit , а отображаться информация должна в таблице, в моем случае это dbGrid. только и всего
|
|
|
|
|