DBGRD - Tratamento de colunas
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
Curtidas 0
Respostas
Marco Salles
29/02/2004
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;
GOSTEI 0