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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 17.05.2010, 16:10
Almas3000 Almas3000 вне форума
Прохожий
 
Регистрация: 17.05.2010
Сообщения: 15
Репутация: 10
По умолчанию поиск в базе по мере набора данных

Доброго времени суток всем. Подскажите мне пожалуйста такую вещь:
есть форма с компонентом DBGrid необходимо сделать так чтобы при нажатии на какой-либо столбец заголовок столбца выделялся цветом и при наборе текста на клаве по мере набора осуществлялось перемещение курсора на нужную запись. Говоря по простому выделил столбец фамилия например и печатаешь фамилию на клаве и по мере набора курсор перемещается на нужную запись с такой фамилией и так по каждому полю.
Как это реализовывается?
Ответить с цитированием
  #2  
Старый 17.05.2010, 17:17
Аватар для Aristarh Dark
Aristarh Dark Aristarh Dark вне форума
Модератор
 
Регистрация: 07.10.2005
Адрес: Москва
Сообщения: 2,906
Версия Delphi: Delphi XE
Репутация: выкл
По умолчанию

Делай как в известной желтой программе, при нажати на заголовок столбца - согрировка по этому столбцу, далее - Locate.
Хотя я бы использовал фильтр, либо набора данных (TDataSet) либо (что, имхо, нагляднее) запросом.
__________________
Некоторые программисты настолько ленивы, что сразу пишут рабочий код.

Если вас наказали ни за что - радуйтесь: вы ни в чем не виноваты.
Ответить с цитированием
  #3  
Старый 17.05.2010, 17:26
Almas3000 Almas3000 вне форума
Прохожий
 
Регистрация: 17.05.2010
Сообщения: 15
Репутация: 10
По умолчанию

Мне не нужна сортировка. Мне просто надо чтобы юзер видел какой столбец выделен.
Ответить с цитированием
  #4  
Старый 17.05.2010, 18:34
roamer roamer вне форума
Активный
 
Регистрация: 15.04.2009
Сообщения: 369
Репутация: 93
По умолчанию

Цитата:
Сообщение от Almas3000
Мне не нужна сортировка. Мне просто надо чтобы юзер видел какой столбец выделен.


У DBGrid есть обработчик :
Код:
procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
  Field: TField; State: TGridDrawState);
begin

end;

И свойство SelectedField.

Т.е., для "цветового" выделения столбца можно использовать SelectedField в реализации метода DBGrid1DrawDataCell.

Простенький пример в Help`е есть ...
Ответить с цитированием
  #5  
Старый 18.05.2010, 11:26
Almas3000 Almas3000 вне форума
Прохожий
 
Регистрация: 17.05.2010
Сообщения: 15
Репутация: 10
По умолчанию

ок, спасибо. а с поиском как быть?
если юзать Locate в обработчике OnKeypress прога не будет подвисать?
Ответить с цитированием
  #6  
Старый 18.05.2010, 16:26
roamer roamer вне форума
Активный
 
Регистрация: 15.04.2009
Сообщения: 369
Репутация: 93
По умолчанию

Цитата:
Сообщение от Almas3000
ок, спасибо. а с поиском как быть?
если юзать Locate в обработчике OnKeypress прога не будет подвисать?
В пределах разумного объема (открытого набора данных) - вряд ли.
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter