![]() |
|
#1
|
|||
|
|||
![]() В DBGrid выводется БД через запрос в Query. Как мне сделать так чтоб при вводе в edit значения и нажатия на кнопку фокус подал на нужную строчку в DBGrid где есть это значение, оно уникально и только в первом столбце?
Помогите пожалуйста, а то я чё то не допру как в DBGrid нужную строку по введенному значению выделить. |
#2
|
||||
|
||||
![]() ОРГАНИЗАЦИЯ ПОИСКА В БД С ПОМОЩЬЮ SQL-ЗАПРОСА
В этом примере осуществляется поиск в таблице Data1 (в столбце Name) в соответствии с значением, вводимым в поле Edit1. Запишем в обработчике событий OnChange компонента Edit1 следующий код: Код:
procedure TForm1.Edit1Change(Sender: TObject); begin ADOQuery1.Active:=false; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('SELECT *'); ADOQuery1.SQL.Add('FROM Data1'); ADOQuery1.SQL.add('WHERE Name like ''' +'%'+Edit1.Text + '%'''); ADOQuery1.Active:=true; end; Delphicode.org - справочник Delphi Последний раз редактировалось Admin, 21.09.2008 в 13:36. |
#3
|
|||
|
|||
![]() Спасибо я так делал но не дабавлял %,% видимо из-за этого только первый ввод срабатывал, а потом ошибка при попытке стереть и ввести другой номер. Это отлично работает и сойдёт.
Но я хотел немного по другому чтоб запрос оставался, т.е. значения не убирались и оставался только нужный, а чтоб фокус чисто переходил на строчку с нужным значением. Там вобще можно в DBGride фокус перемещать на нужную строку при нажатии на кнопку? Это так мне для самообразования). За пример спасибо Dux. Последний раз редактировалось Qwed86, 21.09.2008 в 11:08. |
#4
|
||||
|
||||
![]() Используй функцию DBGrid.DataSource.DataSet.Locate() в обработчике OnClick твоей кнопки
Поживу - увижу, Доживу - узнаю, Выживу - учту. ![]() [P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
|
#5
|
|||
|
|||
![]() Вот я про это и говорил, так и думал есть что-то подобное. Спасибо
|