Fórum DbGrid gt; Retornar o valor da linha e Coluna #361229

17/07/2008

0

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


Jotas

Jotas

Responder

Posts

17/07/2008

Paulo

O DBGrid está ligado a um DataSource, então porque não pegar direto da tabela em que está linkado o DBGRid?


Responder

Gostei + 0

17/07/2008

Jotas

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


Responder

Gostei + 0

18/07/2008

Altingon

Tente isso amigo, no caso o ´1´ é porque é a segunda coluna

Res:=DBGrid1.Columns[1].Field.value



Espero ter ajudado


Responder

Gostei + 0

18/07/2008

Joaoshi

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:

  
     edit1.Text := Obras.FieldbyName(´NomedoSetor´)as.sTring;
     edit2.Text := Obras.FieldByName(´Codigo´).asString;
     edit3.Text := Obras.FieldByName(´DtCadastro´).asString;


Espero que dê uma clareada.


Responder

Gostei + 0

18/07/2008

Jotas

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


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar