DbGrid gt; Retornar o valor da linha e Coluna
Amigos do DevMedia
Boa Tarde,
Desculpem o Incomodo...
Eu precisava de retornar o Valor da Linha e Coluna de um DBGrid, para uma variavel.
No exemplo a seguir, está me retornando a primeira coluna.
procedure TFrmDepartamentos.DbgObrasCellClick(Column: TColumn);
var
res:string;
begin
Res:=DbgObras.SelectedField.AsString;
dm.TbSetores.Locate(dm.TbSetores.Fields[1].FieldName,res,[]);
end;
Bem, no DbGrid eu tenho 3 colunas:
NomedoSetor, Codigo, DtCadastro e tem que ficar assim..
Entao a Pergunta seria:
Como retornar para a Variavel RES, o Codigo ??? porque da forma acima, eu trago o Nome do Setor !!!.
Se mudar o Codigo para Coluna 1 eu consigo o resultado, mas eu preciso que o codigo fique na 2a. coluna.
Sei que os Amigos vao dar um Jeitinho
Agradeco a Todos
Jotas.
O Que eu consegui apenas, foi retornar a primeira coluna assim:
Dbgrid1.keyValue
Boa Tarde,
Desculpem o Incomodo...
Eu precisava de retornar o Valor da Linha e Coluna de um DBGrid, para uma variavel.
No exemplo a seguir, está me retornando a primeira coluna.
procedure TFrmDepartamentos.DbgObrasCellClick(Column: TColumn);
var
res:string;
begin
Res:=DbgObras.SelectedField.AsString;
dm.TbSetores.Locate(dm.TbSetores.Fields[1].FieldName,res,[]);
end;
Bem, no DbGrid eu tenho 3 colunas:
NomedoSetor, Codigo, DtCadastro e tem que ficar assim..
Entao a Pergunta seria:
Como retornar para a Variavel RES, o Codigo ??? porque da forma acima, eu trago o Nome do Setor !!!.
Se mudar o Codigo para Coluna 1 eu consigo o resultado, mas eu preciso que o codigo fique na 2a. coluna.
Sei que os Amigos vao dar um Jeitinho
Agradeco a Todos
Jotas.
O Que eu consegui apenas, foi retornar a primeira coluna assim:
Dbgrid1.keyValue
Jotas
Curtidas 0
Respostas
Paulo
17/07/2008
O DBGrid está ligado a um DataSource, então porque não pegar direto da tabela em que está linkado o DBGRid?
GOSTEI 0
Jotas
17/07/2008
Oi Paulo Boa Tarde
Nao entendi a tua soluçao..
Eu Necessito, buscar o CODIGO da Linha e Coluna do DbGrid, para jogar num TEDIT.
O Problema, é que pelo meu codigo :(Res:=DbgObras.SelectedField.AsString) esta retornando o Nome da Obra, e nao o codigo ...
Entao se a tua soluçao esta certa, Como devo Fazer? esse SelectField nao deixa acessar o campo da tabela.
Mui Grato
Jotas
Nao entendi a tua soluçao..
Eu Necessito, buscar o CODIGO da Linha e Coluna do DbGrid, para jogar num TEDIT.
O Problema, é que pelo meu codigo :(Res:=DbgObras.SelectedField.AsString) esta retornando o Nome da Obra, e nao o codigo ...
Entao se a tua soluçao esta certa, Como devo Fazer? esse SelectField nao deixa acessar o campo da tabela.
Mui Grato
Jotas
GOSTEI 0
Altingon
17/07/2008
Tente isso amigo, no caso o ´1´ é porque é a segunda coluna
Espero ter ajudado
Res:=DBGrid1.Columns[1].Field.value
Espero ter ajudado
GOSTEI 0
Joaoshi
17/07/2008
Jotas, como o colega Paulo escreveu [b:405aba8897]O DBGrid está ligado a um DataSource[/b:405aba8897]. O DataSource tem uma propriedade chamada [b:405aba8897]DataSet[/b:405aba8897] onde é informada o nome da fonte de dados.
Supondo que estamos trabalhando com a tabela OBRAS.
Coloque três edits no formulário.
No Evento [b:405aba8897]onDataChange[/b:405aba8897] do seu DataSource digite:
Espero que dê uma clareada.
Supondo que estamos trabalhando com a tabela OBRAS.
Coloque três edits no formulário.
No Evento [b:405aba8897]onDataChange[/b:405aba8897] do seu DataSource digite:
edit1.Text := Obras.FieldbyName(´NomedoSetor´)as.sTring; edit2.Text := Obras.FieldByName(´Codigo´).asString; edit3.Text := Obras.FieldByName(´DtCadastro´).asString;
Espero que dê uma clareada.
GOSTEI 0
Jotas
17/07/2008
Ola Amigos
Bom dia
Quero deixar um agradecimento a todos, pela atençao.
O que eu precisava (nao sei se antes me expliquei bem), mas o codigo que o ALINGTON mandou, me atendeu.
DBGrid1.Columns[1].Field.value
(aqui se eu tiver 6 colunas, e quiser a de numero 6 é so mudar para [6])
Mais uma vez, Obrigado a Todos,
Jotas
Bom dia
Quero deixar um agradecimento a todos, pela atençao.
O que eu precisava (nao sei se antes me expliquei bem), mas o codigo que o ALINGTON mandou, me atendeu.
DBGrid1.Columns[1].Field.value
(aqui se eu tiver 6 colunas, e quiser a de numero 6 é so mudar para [6])
Mais uma vez, Obrigado a Todos,
Jotas
GOSTEI 0