Fórum DBGRD - Tratamento de colunas #217375
29/02/2004
0
Caros amigos:
Faço inserção de dados atraves de um DBGRID, porém gostaria de tratar a entrada de dados da seguinte forma:
Quando o cursor estiver na ultima coluna e o usuário teclar ´enter´ou ´tab´, o cursor não passar para a proxíma linha, forçando assim o usuário a clicar no botão ´OK´.
Como faço para implemantar tal controle?
Obridado
Zekas
Faço inserção de dados atraves de um DBGRID, porém gostaria de tratar a entrada de dados da seguinte forma:
Quando o cursor estiver na ultima coluna e o usuário teclar ´enter´ou ´tab´, o cursor não passar para a proxíma linha, forçando assim o usuário a clicar no botão ´OK´.
Como faço para implemantar tal controle?
Obridado
Zekas
Zekas
Curtir tópico
+ 0
Responder
Posts
29/02/2004
Marco Salles
Amigo, Tente Manipular o Evento OnKeyDown Do Grid...Mas Atenção , Voce Também Deve Manipular as Setas Do Teclado Evitando Assim Que Se Saia Do Registro.. Onde Voce Encontrar o Número Tres Voce Deve Substituir Pelo Numero De Colunas Do Seu DbGrid-1...Assim Se Seu DbGrid Tiver Seis Colunas Coloque Na Instrução O Valor De Cinco..
Eu Coloquei Tres Porque Não Sei a Quantidade De Campos Que Seu Grid Esta Mostrando...
Eu Coloquei Tres Porque Não Sei a Quantidade De Campos Que Seu Grid Esta Mostrando...
procedure TForm1.DBGrid1KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin case Key of VK_Down, VK_UP :begin if (DbGrid1.DataSource.DataSet.State in [DsInsert,DsEdit]) Then Key:=0; end; VK_Tab :begin if DbGrid1.SelectedIndex=3 Then if (DbGrid1.DataSource.DataSet.State in [DsInsert,DsEdit]) Then Key:=0; end; end; end;
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)