Preencher todos os edits ao selecionar um cliente
Eae pessoal, to com uma duvida, como eu posso, ao aparecer o meu dbgrid na pagina de pesquisa, dar uma duplo click e preencher os edits com os dados do cliente?
Lucas Araújo
Curtidas 0
Melhor post
Jucélio Silva
22/01/2019
E ae Lucas, blz cara,
Então, se você está com os dados na grid é sinal que já carregou de algum lugar "banco ou Excel por exemplo", então o trabalho pesado já está feito, para mostrar a linha selecionada de uma grid bastaria pegar o registro posicional do seu componente "Query" . Ao selecionar uma linha o dephi posiciona de forma automática o registro do componente que está com seus dados "Query, MeData ou qualquer outro" , então é só pegar esse valor e passar para o edit, ficaria +- assim "pode mudar conforme componente que está usando e grid, mas a ideia é sempre a mesma":
Então, se você está com os dados na grid é sinal que já carregou de algum lugar "banco ou Excel por exemplo", então o trabalho pesado já está feito, para mostrar a linha selecionada de uma grid bastaria pegar o registro posicional do seu componente "Query" . Ao selecionar uma linha o dephi posiciona de forma automática o registro do componente que está com seus dados "Query, MeData ou qualquer outro" , então é só pegar esse valor e passar para o edit, ficaria +- assim "pode mudar conforme componente que está usando e grid, mas a ideia é sempre a mesma":
// duplo click do grid procedure TForm1.GridDblClick(Sender: TObject); begin edtCliente.text := qry.fields[0].asstring; // pega pelo indice dos campos começa do ZERO edtCliente.text := qry.fieldByName('nomeCampo').asstring; // pega pelo nome do campo edtCliente.text := qryCampoInstanciado.asstring; // caso tenha instanciado o campo no componente pode pegar diretamente por ele end; // se seu campo for DB isso ocorre de forma automática, só tem que entender que o que ve no grid é uma representação dos seus dados na memoria no delphi , logo pode pegar do componente que recebeu esses dados que a posição será o registro selecionado no grid.
GOSTEI 1
Mais Respostas
Lucas Araújo
22/01/2019
E ae Lucas, blz cara,
Então, se você está com os dados na grid é sinal que já carregou de algum lugar "banco ou Excel por exemplo", então o trabalho pesado já está feito, para mostrar a linha selecionada de uma grid bastaria pegar o registro posicional do seu componente "Query" . Ao selecionar uma linha o dephi posiciona de forma automática o registro do componente que está com seus dados "Query, MeData ou qualquer outro" , então é só pegar esse valor e passar para o edit, ficaria +- assim "pode mudar conforme componente que está usando e grid, mas a ideia é sempre a mesma":
Então, se você está com os dados na grid é sinal que já carregou de algum lugar "banco ou Excel por exemplo", então o trabalho pesado já está feito, para mostrar a linha selecionada de uma grid bastaria pegar o registro posicional do seu componente "Query" . Ao selecionar uma linha o dephi posiciona de forma automática o registro do componente que está com seus dados "Query, MeData ou qualquer outro" , então é só pegar esse valor e passar para o edit, ficaria +- assim "pode mudar conforme componente que está usando e grid, mas a ideia é sempre a mesma":
// duplo click do grid procedure TForm1.GridDblClick(Sender: TObject); begin edtCliente.text := qry.fields[0].asstring; // pega pelo indice dos campos começa do ZERO edtCliente.text := qry.fieldByName('nomeCampo').asstring; // pega pelo nome do campo edtCliente.text := qryCampoInstanciado.asstring; // caso tenha instanciado o campo no componente pode pegar diretamente por ele end; // se seu campo for DB isso ocorre de forma automática, só tem que entender que o que ve no grid é uma representação dos seus dados na memoria no delphi , logo pode pegar do componente que recebeu esses dados que a posição será o registro selecionado no grid.
GOSTEI 0
Lucas Araújo
22/01/2019
Eae cara, então, certeza que o dbgrid tem procedures?, to tentando esse duplo click e nao ta rolando nao kkk
GOSTEI 0
Jucélio Silva
22/01/2019
Eae cara, então, certeza que o dbgrid tem procedures?, to tentando esse duplo click e nao ta rolando nao kkk
kkkkk , não Lucas, criei esse exemplo mas vc precisa fazer assim, seleciona o grid, depois vai na aba de eventos e procura por OnDblClick , e clica duas vezes ai, com isso o delphi vai gerar a procedure para vc, se fizer na mão tem que declarar ela no topo junto com as funções....
Dentro da procedure vc coloca seu codigo, mas esse que mostri ai é um exemplo, tem que ver o nome de seus componentes e o nome dos campos do banco no seu objeto query....
qlqr coisa posta o erro que te dou uma força...
GOSTEI 0