Fórum Trabalhando com DBGRID #174343
11/08/2003
0
O Dbgrid possui o foco, como posso fazer para quando pressionar uma tecla pertencente ao nome do produto listado o ponteiro dirija-se a produto iniciado com a letra correspondente ao pressionamento, tipo um auto-complete.
Desde já agradeço pela ajuda.
Desde já agradeço pela ajuda.
Prosystem
Curtir tópico
+ 0
Responder
Posts
11/08/2003
Koplin
Seria bom vc usar um edit para isso e no evento OnChange dele fazer:
If Edit1.text<>´´ then
Tabela.Locate(´nome_do_campo´,edit1.text,[locaseinsensitive,lopartialkey]);
If Edit1.text<>´´ then
Tabela.Locate(´nome_do_campo´,edit1.text,[locaseinsensitive,lopartialkey]);
Responder
Gostei + 0
11/08/2003
Allen74
Amigo,
A sugestão do colega koplin é válida pois assim você não estaria alterando o comportamento padrão do DBEdit que é entrar em modo de edição para alteração do conteúdo da célula selecionada. Isso no caso deste não ser apenas ReadOnly.
Imagino que você queira simular o recurso de pesquisa que existe no windows explorer, onde podemos ir digitando o nome do arquivo e ele tenta localicar o nome mais próximo ao que já foi digitado.
Se você quiser, você pode modificar o comportamento do DBEdit para funcionar desta forma, mas lembro para tomar cuidado quando alterar o comportamento padrão de um controle comum para não confundir seu usuário. A maioria dos usuários já sabem que um controle no estilo de tabelas permite a visualização e edição dos dados. Assim, você deve dar indicações visuais de que os registros não poderão ser alterados e que o usuário pode encontrar um registro iniciando a digitação do nome....
Mesmo assim, aconselho que você mantenha um Edit próximo ao DBGrid para que seu usuário saiba que pode pesquisar digitando parte do nome no edit.
Caso seu DBEdit esteja configurado apenas para leitura, você pode capturar as teclas digitadas no evento OnKeyPress do componente e concatenar os caracteres com o conteúdo atual do Edit. No Edit você acrescenta o código para pesquisa no evento OnChange. Você também terá decidir pelo tratamento das teclas de navegação até ajustar o formulário de pesquisa de forma a ober uma melhor usabilidade.
A sugestão do colega koplin é válida pois assim você não estaria alterando o comportamento padrão do DBEdit que é entrar em modo de edição para alteração do conteúdo da célula selecionada. Isso no caso deste não ser apenas ReadOnly.
Imagino que você queira simular o recurso de pesquisa que existe no windows explorer, onde podemos ir digitando o nome do arquivo e ele tenta localicar o nome mais próximo ao que já foi digitado.
Se você quiser, você pode modificar o comportamento do DBEdit para funcionar desta forma, mas lembro para tomar cuidado quando alterar o comportamento padrão de um controle comum para não confundir seu usuário. A maioria dos usuários já sabem que um controle no estilo de tabelas permite a visualização e edição dos dados. Assim, você deve dar indicações visuais de que os registros não poderão ser alterados e que o usuário pode encontrar um registro iniciando a digitação do nome....
Mesmo assim, aconselho que você mantenha um Edit próximo ao DBGrid para que seu usuário saiba que pode pesquisar digitando parte do nome no edit.
Caso seu DBEdit esteja configurado apenas para leitura, você pode capturar as teclas digitadas no evento OnKeyPress do componente e concatenar os caracteres com o conteúdo atual do Edit. No Edit você acrescenta o código para pesquisa no evento OnChange. Você também terá decidir pelo tratamento das teclas de navegação até ajustar o formulário de pesquisa de forma a ober uma melhor usabilidade.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)