Ir para conteúdo
Fórum Script Brasil
  • 0

Usar coluna do Grid como campo de busca


Vivendo&Aprendendo

Pergunta

Olá pessoal!

Preciso saber como faço para usar a primeira coluna do grid como um campo para busca, tipo: Tenho uma tela de vendas e um Grid que mostra os produtos que estão sendo vendidos referentes a aquela venda, eu uso edits para buscar o código do produto que esta sendo vendido, e agora quero tirar os edits e fazer com que o usuário digite o código do produto na primeira coluna de cada linha e ai ele preenche a descrição automaticamente e o usuario só coloca a qtde e se caso ele quizer inserir mais um produto cria-se uma nova linha no grid.

Alguém ai pode me ajudar?

Abraço

Editado por Vivendo&Aprendendo
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0
Preciso saber como faço para usar a primeira coluna do grid como um campo para busca, tipo: Tenho uma tela de vendas e um Grid que mostra os produtos que estão sendo vendidos referentes a aquela venda, eu uso edits para buscar o código do produto que esta sendo vendido, e agora quero tirar os edits e fazer com que o usuário digite o código do produto na primeira coluna de cada linha e ai ele preenche a descrição automaticamente e o usuario só coloca a qtde e se caso ele quizer inserir mais um produto cria-se uma nova linha no grid.

O codigo que estou passando servirá apenas como exemplo de partida, voce deve modificar o codigo de acordo com as suas necessidades.

procedure TForm1.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
  // MUDANDO DE CAMPO USANDO A TECLA TAB
  if Key = #9 then
      if not (ActiveControl is TDBGrid) then
         begin
            Key := #0;
            Perform(WM_NEXTDLGCTL, 0, 0);
         end
      else if (ActiveControl is TDBGrid) then
         with TDBGrid(ActiveControl) do
         if selectedindex < (fieldcount - 1) then
            begin
               //selectedindex := selectedindex + 1;
               CDS_Vendas.Edit;
               case selectedindex of
                1 : CDS_VendasCODCLI.AsInteger     := CDS_CadcliCOD.AsInteger;
                2 : CDS_VendasCOD_ATV.Value := '';
                3 : begin
                       CDS_CaixaP.First;
                       if CDS_CaixaP.Locate('COD_ATIV',CDS_VendasCOD_ATV.Value,[loCaseInsensitive, loPartialKey]) then
                          CDS_VendasQTDE.Value := CDS_CaixaPQTDE.Value
                       else
                          CDS_VendasQTDE.Value := 0;
                    end;
                4 : CDS_VendasDATA.Value := now;
                5 : CDS_VendasPRECO.Value := 0.00;

                // OUTROS CAMPOS DA TABELA

               if  selectedindex = 1 then
                   begin
                      // CRIA NOVA LINHA DE REGISTRO
                      CDS_VendasNUM.AsInteger := CDS_Vendas.RecordCount+1;
                      ndiv := 0;
                   end

            end
        else
            begin
               if CDS_VendasPRECO.Value <> 0 then nbonif := nbonif + 1;
               CDS_Vendas.Post;
               CDS_Vendas.Append;
               selectedindex := 0;
            end;

end;

abraço

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,2k
×
×
  • Criar Novo...