enter no dbgrid
16/01/2006
0
coloquei um codigo onde o enter funciona bem, pulando de linha em linha, mas o cursor fica sempre no final do valor, ..., se eu usar o tab, e as setas de direção, os valores ficam selecionados....
fiz uma pesquisa onde por troca de tab pelo enter, mas por enqto não achei nada que resolva meu problema....
Arc
Posts
16/01/2006
Nilpedro
http://forum.clubedelphi.net/viewtopic.php?t=71066
16/01/2006
Arc
eu ja tinha visto este topico....
bom, pelo menos aki naum ta funcionando
16/01/2006
Arc
16/01/2006
Aasn
Não entendi direito o que vc quer, mas aí vai um trecho de código que pode ajudar:
with DBGrid1 do begin if selectedindex < (fieldcount - 1) then selectedindex := selectedindex + 1 else selectedindex := 0; end;
se vc puder ser mais específico, talvez possa ajudar mais.
[]´s
AASN
16/01/2006
Arc
quando eu teclo TAB, o valor da celula, fica todo selecionado, ou seja, se o valor for 125,00, o valor 125,00 fica selecionado(em azul);
se eu teclo as setas Right, Left, Down, Up, o valor fica selecionado, da mesma forma que com a tela TAB
qdo eu teclo ENTER, o cursor vai para o final da celula, no mesmo exemplo, o cursor fica logo após o ultimo zero de 125,00, o que obriga o usuario a usar o mouse para selecionar o valor e edita-lo
espero ter conseguido explicar melhor
abraço
16/01/2006
Aasn
procedure TForm1.DBGrid1KeyPress(Sender: TObject; var Key: Char); begin if key = #13 then begin Key := 0; with DBGrid1 do begin if selectedindex = 1 { coluna valor } then Key := 13 else { outra coluna qualquer } if selectedindex < (fieldcount - 1) then selectedindex := selectedindex + 1 else selectedindex := 0; end; end; end;
fiz este pequeno teste e funcionou exatamente como vc quer. Não sei os detalhes do seu projeto mas fiz esta rotina sem me preocupar com os detalhes e funcionu perfeitamente.
[]´s
AASN
17/01/2006
Arc
achei o erro aki, puts, nem acredito que era isso
a opção alwaysshoweditor do grid estava como true, coloquei false e funcionou
valeu
Clique aqui para fazer login e interagir na Comunidade :)