Fórum qual coluna da dbgrid? #221617

23/03/2004

0

ola pessoal, tudo bem?
estou com o seguinte problema: tenho um formulario de cadastro com dbedits (codigo, nome, telefone) ligados a uma tabela e um dbgrid com os mesmos campos utilizados pelos dbedits.
minha duvida: como faço para que quando eu clicar em uma celula do dbgrid, não importando o registro, eu saiba qual coluna (campo) eu cliquei, para que o respectivo dbedit (que mostra o mesmo campo da tabela) receba o foco e entre em modo de edição (ex.: eu cliquei na coluna nome e o dbedit ligado ao campo nome recebe o foco e a tabela entra em modo de edição).
vejam meu codigo:
procedure TFRMCLIENTES.DBGrid1CellClick(Column: TColumn);
begin
   case DBGrid1.Columns of //É AQUI QUE MORA MINHA DUVIDA
      0 : DBEDIT1.SETFOCUS ;
      1 : DBEDIT2.SETFOCUS;
      2 : DBEDIT3.SETFOCUS;
   end;
   TABELA.EDIT;
end;

estou indo pelo caminho certo? agradeço pela ajuda.

flaviosan :P


Flaviosan

Flaviosan

Responder

Posts

23/03/2004

Lucas Silva

estou indo pelo caminho certo? agradeço pela ajuda.


é isso mesmo, tá dando algum problema?


Responder

Gostei + 0

23/03/2004

Flaviosan

esta dando um erro ´ordinal type required´ na seguinte linha:
case DBGrid1.Columns of 

será que estou usando a propriedade certa? agradeço pela atenção.

flaviosan :P


Responder

Gostei + 0

23/03/2004

Lucas Silva

pra fazer um case tem que ser integer mesmo, tinha me esquecido.
Vou ver se acho algum exemplo aqui pra você


Responder

Gostei + 0

23/03/2004

Flaviosan

valeu.

flaviosan :P


Responder

Gostei + 0

23/03/2004

Fabio.hc

Tente assim:


procedure TFRMCLIENTES.DBGrid1CellClick(Column: TColumn); 
begin 
   case Column.Index  of //É AQUI QUE MORA MINHA DUVIDA 
      0 : DBEDIT1.SETFOCUS ; 
      1 : DBEDIT2.SETFOCUS; 
      2 : DBEDIT3.SETFOCUS; 
   end; 
   TABELA.EDIT; 
end; 



Responder

Gostei + 0

23/03/2004

Lucas Silva

Fábio,
Eu tentei isso, mais o index sempre me retorna 0.
Não sei pq.


Responder

Gostei + 0

23/03/2004

Fabio.hc

Retorna 0 quando clica na primeira coluna,
1 quando clica na a segunda coluna ...


Responder

Gostei + 0

23/03/2004

Flaviosan

Fabio, olha só que coicidencia, fiquei mexendo no help do delphi e descobri que o evento OnCellClick da dbgrid retorna qual coluna foi clicada, atraves da variavel Column.Index e com isso eu resolvi o problema. quando entrei no forum para dizer que eu tinha resolvido me deparei com a sua resposta, igualzinha a minha solução!
mesmo assim muito obrigado Fabio e Lucas pela atenção.

flaviosan :P


Responder

Gostei + 0

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

Aceitar