Delphi Sources

Поиск в 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 и т.п.





Похожие по теме исходники

Поисковик

Поиск символа

Поиск файлов

Поиск открытых файлов

 

Findup (поиск дублей)

Дейкстра: поиск кратчайшего пути

База данных без BDE

БД без BDE

 

Кривая Безье

Bezier Curves (кривые Безье)

Splay Line (Безье)

Сплайн на 8 точек (Безье)

 

Text Bezier Curve (Безье)

Кривые Безье на OpenGL

Проверка числового ввода