lynx 0 Denunciar post Postado Julho 10, 2007 Seguinte estou com problemas para fazer um "auto completar".. Em cima de um grid, tenho um campo codigo. Gostaria que digitando algo, o grid vai buscando sozinho até encontrar o registro certo. No evendo onchange tem isso. A 1 vez da certo, mas voltando ele para... with qrypesqcid do begin Close; SQL.Clear; SQL.Add('select * from CID where upper(DESCRICAO) like :DESCRICAO'); ParamByName('DESCRICAO').AsString:= '%'+UpperCase(edtcid.Text)+'%'; cdspesqcid.Open; end; Compartilhar este post Link para o post Compartilhar em outros sites
lynx 0 Denunciar post Postado Julho 10, 2007 No evento onkeypress adicionei with qrypesqcid do begin cdspesqcid.Close; SQL.Clear; SQL.Add('select * from CID where upper(DESCRICAO) like :DESCRICAO'); ParamByName('DESCRICAO').AsString:= '%'+UpperCase(edtcid.Text)+'%'; cdspesqcid.Open; end; resolveu o problema, mas ficou um pouco lento... Outra coisa, quando eu digito no edit, gostaria que o foco fica-se no DBGrid, tem como ? valeu Compartilhar este post Link para o post Compartilhar em outros sites
Rodrigo Miss 1 Denunciar post Postado Julho 11, 2007 beleza aew? kra coloque esta sua consulta no DB somente no onChange do Edit ... e no onKeyPress do DBGrid faz assim: procedure TForm1.DBGrid1KeyPress(Sender: TObject; var Key: Char);var Str: string;begin Str:= Edit1.Text; if (key = #8) then begin Delete(Str,Length(Edit1.Text),1); Edit1.Text:= Str; end else begin Edit1.Text:= Str + key; end;end;No onShow do form você passa o foco direto pro DBGRid ... ok Compartilhar este post Link para o post Compartilhar em outros sites
lynx 0 Denunciar post Postado Julho 11, 2007 Realmente no onchange, ficou mais rápido.Mas quando eu mando o foco para o dbgrid, não funciona pq o foco vai para o edit.Mas a pesquisa está funcionando, só o foco do grid não funciona, mas os ítems mudam de acordo com o conteúdo digitado.valeu Compartilhar este post Link para o post Compartilhar em outros sites
Rodrigo Miss 1 Denunciar post Postado Julho 11, 2007 mais aki funciona numa boa ... basta colocar no onShow do seu form, e no onChange do Edit : DBGrid.SetFocus(); Compartilhar este post Link para o post Compartilhar em outros sites
lynx 0 Denunciar post Postado Julho 11, 2007 Mais uma vez obrigado Rodrigo.Eu esqueci de colocar o foco no onchange do edit.Acho que ficou um pouco mais lento, pq minha tabela é gigante.valeuOutra coisa, deste modo não funciona o backspace no edit ? (Para voltar), e o onkeypress do edit ficou doido, não funciona o Enter.valeu Compartilhar este post Link para o post Compartilhar em outros sites
Rodrigo Miss 1 Denunciar post Postado Julho 11, 2007 opa! kra dai basta você ir fazendo o tratamento das teclas de acordo com suas nescessidades, pra resolver o esquema do enter faça assimn: var Str: string;begin Str:= Edit1.Text; if (key = #13) then begin exit; end;{... continua o code} Ok!!!! precisando tamo aew http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
lynx 0 Denunciar post Postado Julho 11, 2007 Desculpe pela demora...tranquilo valeu mesmo Rodrigo..obrigado Compartilhar este post Link para o post Compartilhar em outros sites