Selecionar ID DBGrid
Boa tarde,
Como meu faço pra recuperar o ID de uma linha selecionada no GRID ?
Como meu faço pra recuperar o ID de uma linha selecionada no GRID ?
Felipe Ribeiro
Curtidas 1
Respostas
Luiz Menin
08/03/2013
Explique melhor seu problema, qual versão do delphi e componentes utilizados.
GOSTEI 0
Felipe Ribeiro
08/03/2013
Então, vamos lá, perdoe a falta de informação.
Tenho um DBGrid com as informações proveniente da seguinte consulta ao banco:
Quando dou DoubleClick em uma linha do grid, abro um outro form com as informações do cliente selecionado para edição.
Como esse Select não é de uma única tabela, não está me permitindo editar os campos.
A solução que eu pensei foi pegar o ID do cliente selecionado e então preparar um insert manual ao invés de utilizar o mesmo DataSource do grid.
Essa seria a melhor forma de resolver isso ?
Espero ter conseguido ser claro ao expressar o meu problema.
Obrigado
Tenho um DBGrid com as informações proveniente da seguinte consulta ao banco:
Select c.cod_cliente, c.nome as nome, c.endereco as endereco, c.cidade as cidade, c.bairro as bairro, e.nome as estado from clientes c left join estados e on e.id_estado = c.estado
Quando dou DoubleClick em uma linha do grid, abro um outro form com as informações do cliente selecionado para edição.
Como esse Select não é de uma única tabela, não está me permitindo editar os campos.
A solução que eu pensei foi pegar o ID do cliente selecionado e então preparar um insert manual ao invés de utilizar o mesmo DataSource do grid.
Essa seria a melhor forma de resolver isso ?
Espero ter conseguido ser claro ao expressar o meu problema.
Obrigado
GOSTEI 0
Luiz Menin
08/03/2013
Ok.
O código do registro selecionado estaria no ClientDataSet relacionado ao DataSource do DBGrid.
Na tela que vai abrir, você aplica um filtro em que só retorna o registro deste código.
O código do registro selecionado estaria no ClientDataSet relacionado ao DataSource do DBGrid.
iCod := ClientDataSet.FieldByName('NOME_DO_CAMPO').AsInteger;
Na tela que vai abrir, você aplica um filtro em que só retorna o registro deste código.
GOSTEI 0
Felipe Ribeiro
08/03/2013
Boaaa 06...
Exatamente o que eu precisava..
Estou há algum tempo sem utilizar o Delphi.
E vamos começar a dar manutenção em um sistema que foi desenvolvido em Delphi.
Então estou voltando a estudar.
Muito obrigado..
Grande abraço.
Exatamente o que eu precisava..
Estou há algum tempo sem utilizar o Delphi.
E vamos começar a dar manutenção em um sistema que foi desenvolvido em Delphi.
Então estou voltando a estudar.
Muito obrigado..
Grande abraço.
GOSTEI 0
Luiz Menin
08/03/2013
Ótimo. Obrigado pelo feedback.
GOSTEI 0
Deivison Melo
08/03/2013
dbgrib.Columns[0].Field.AsString onde o "0" zero na verdade trata-se do index dos campos (sequencia deles na consulta) ou vc poderá utilizar o nome da coluna também.
dbgrib.Columns.Fieldbyname('nomedocampo').AsString
PS. a segunda sintaxe pode nao está escrita correta devido não está com o delphi e nao ter ele aqui no trabalho!
abraço!!
dbgrib.Columns.Fieldbyname('nomedocampo').AsString
PS. a segunda sintaxe pode nao está escrita correta devido não está com o delphi e nao ter ele aqui no trabalho!
abraço!!
GOSTEI 0
Joel Rodrigues
08/03/2013
Bom, galera... vejo que a questão foi resolvida.
Nesse caso, estou marcando o tópico como Concluído.
Abraço.
Nesse caso, estou marcando o tópico como Concluído.
Abraço.
GOSTEI 0