Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 20.09.2008, 22:15
Qwed86 Qwed86 вне форума
Новичок
 
Регистрация: 12.09.2008
Сообщения: 66
Репутация: 10
По умолчанию DBGrid

В DBGrid выводется БД через запрос в Query. Как мне сделать так чтоб при вводе в edit значения и нажатия на кнопку фокус подал на нужную строчку в DBGrid где есть это значение, оно уникально и только в первом столбце?
Помогите пожалуйста, а то я чё то не допру как в DBGrid нужную строку по введенному значению выделить.
Ответить с цитированием
  #2  
Старый 21.09.2008, 00:40
Аватар для Dux
Dux Dux вне форума
Активный
 
Регистрация: 18.03.2008
Сообщения: 206
Репутация: 16
По умолчанию

ОРГАНИЗАЦИЯ ПОИСКА В БД С ПОМОЩЬЮ 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;
Admin: Пользуемся тегами!

Последний раз редактировалось Admin, 21.09.2008 в 13:36.
Ответить с цитированием
  #3  
Старый 21.09.2008, 10:58
Qwed86 Qwed86 вне форума
Новичок
 
Регистрация: 12.09.2008
Сообщения: 66
Репутация: 10
По умолчанию

Спасибо я так делал но не дабавлял %,% видимо из-за этого только первый ввод срабатывал, а потом ошибка при попытке стереть и ввести другой номер. Это отлично работает и сойдёт.
Но я хотел немного по другому чтоб запрос оставался, т.е. значения не убирались и оставался только нужный, а чтоб фокус чисто переходил на строчку с нужным значением. Там вобще можно в DBGride фокус перемещать на нужную строку при нажатии на кнопку? Это так мне для самообразования). За пример спасибо Dux.

Последний раз редактировалось Qwed86, 21.09.2008 в 11:08.
Ответить с цитированием
  #4  
Старый 21.09.2008, 14:43
Аватар для Yurk@
Yurk@ Yurk@ вне форума
Специалист
 
Регистрация: 07.09.2007
Адрес: Украина, г. Днепропетровск
Сообщения: 892
Версия Delphi: 7 + ОгнеПтица
Репутация: выкл
По умолчанию

Используй функцию DBGrid.DataSource.DataSet.Locate() в обработчике OnClick твоей кнопки
__________________
Поживу - увижу, Доживу - узнаю, Выживу - учту.
[P.S.]->Выражая благодарность за помощь - Вы получаете шанс на помощь в следующий раз
Ответить с цитированием
  #5  
Старый 21.09.2008, 16:07
Qwed86 Qwed86 вне форума
Новичок
 
Регистрация: 12.09.2008
Сообщения: 66
Репутация: 10
По умолчанию

Вот я про это и говорил, так и думал есть что-то подобное. Спасибо
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 02:15.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025