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