Grid

Delphi

05/05/2004

Meus clientes vem da cultura Dos, estão acostumados a utilizar a tecla enter, nos campos normais isto já está fazendo, a minha dificuldade está na grid:

Tenho uma Grid que contem 3 campos(parcela, data do vencimento e valor), no momento que o usuário acionar a tecla enter no campo valor
quero que o cursor avance automaticamente para a próxima linha e na primeira coluna(numero da parcela)

Obs. Avancar para opróximo campo isto já faz, a dificuldade é avançar
para a próxima linha.

Ellen

Grata


Placido

Placido

Curtidas 0

Respostas

Paulo_amorim

Paulo_amorim

05/05/2004

Olá

Me desculpe, mas o Grid eh DBGrid ou StringGrid?


GOSTEI 0
Placido

Placido

05/05/2004

é dbGrid....

Obrigado pelo interesse em ajudar.

Grata


GOSTEI 0
Melo

Melo

05/05/2004

Placido
Utilize o codigo abaixo no evento OnKeyPress do Grid

procedure TForm1.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
begin
Table1.Post;
Table1.Append;
Table1.Fields[0].FocusControl;
end;
end;

Espero ter Ajudado
Melo


GOSTEI 0
Melo

Melo

05/05/2004

Desculpa, esqueci so um pequeno detalhe

if key = #13 then
begin
if ClientDataSet1.State <> DSBrowse then //Aqui
ClientDataset1.Post;
ClientDataset1.Append;
ClientDataset1.Fields[0].FocusControl;
end;




Melo


GOSTEI 0
Glauco Filoco

Glauco Filoco

05/05/2004

Plácido,

Faça o seguinte: independente se você usa Query, Table ou ClientDataSet
( vou chamar o objeto de acesso a dados de simplesmente Tabela, ok ? )

coloque os seguintes comandos, para o evento OnKeyDown do DBGrid:

if key = 13 then // se for pressionada a tecla ENTER
begin
Tabela.Next; // faz o ponteiro avançar p/ a prox.linha
DBGrid.SelectedIndex := 0; // coloca o foco na 1a. coluna do DbGrid
end;

Tente isso. Deve ajudar.
Abraço,
GLAUCO.


GOSTEI 0
POSTAR