Grid
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
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
Curtidas 0
Respostas
Paulo_amorim
05/05/2004
Olá
Me desculpe, mas o Grid eh DBGrid ou StringGrid?
Me desculpe, mas o Grid eh DBGrid ou StringGrid?
GOSTEI 0
Placido
05/05/2004
é dbGrid....
Obrigado pelo interesse em ajudar.
Grata
Obrigado pelo interesse em ajudar.
Grata
GOSTEI 0
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
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
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
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
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.
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