Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Поиск в DBGride без ввода искомого значения в поле ввода

Твой Windows свопиться украдкой
На твой заполненый хард драйв
В него тихонько кинь гранаткой
Чтоб больше места он не взял.

Можно обрабатывать событие OnKeyPress компонента DBGrid:


procedure TSubscriber_frm.RxDBGrid1KeyPress(Sender: TObject;
          var Key: Char);
begin
  // если набор номера (численного значения)
  if ((Ord(key)>=48) and (Ord(key)<=57)) or ((Ord(key)>=96) and (Ord(key)<=105)) then
  begin
    edit1.Visible:=True;
    edit1.SetFocus;
    edit1.Text:=key;
    edit1.SelStart:=1;
  end;
  // если набор текста
  if (Ord(key)>=192) and (Ord(key)<=255) then
  begin
    edit2.Visible:=True;
    edit2.SetFocus;
    edit2.Text:=key;
    edit2.SelStart:=1;
  end;
end;

А в обработке события OnChange edit1 и edit2 применить ф-цию FindNearest по нужному полю. Прятать edit-ы , после удачного поиска, либо по нажатии пользователем стрелки, Enter-a и т.п.

Проект Delphi World © Выпуск 2002 - 2024
Автор проекта: USU Software
Вы можете выкупить этот проект.