Поиск в 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)) thenbegin
edit1.Visible:=True;
edit1.SetFocus;
edit1.Text:=key;
edit1.SelStart:=1;
end;
// если набор текстаif (Ord(key)>=192) and (Ord(key)<=255) thenbegin
edit2.Visible:=True;
edit2.SetFocus;
edit2.Text:=key;
edit2.SelStart:=1;
end;
end;
А в обработке события OnChange edit1 и edit2 применить ф-цию FindNearest по нужному полю. Прятать edit-ы , после удачного поиска, либо по нажатии пользователем стрелки, Enter-a и т.п.
В статье описывается способ поиска в DBGrid без ввода искомого значения в поле ввода, а также обрабатываются события OnKeyPress и OnChange для автоматического вывода найденных результатов в редакторы текста.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS