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


Zekas

Zekas

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...

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

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar