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

(Resolvido) Configuração de DBGrig no OnCreate


Gabriel Cabral

Pergunta

Galera....é o seguinte...

tenho um form com um DBGrid para fazer uma busca...

esse DBGrid chama uma certa tabela que contem 22 campos...mas eu só preciso de 2, então resolvi configurar o grid no OnCreate do form onde ele se encontra, dessa forma:

procedure TfrmLocalForn.FormCreate(Sender: TObject);
var
i : integer;

begin

    With QueryLocalForn Do
      begin
         Close;
         SQL.Clear;
         SQL.Add('SELECT * FROM FINAFOR.dbf ORDER BY FORFAN');
         Open;
      end;

      GridLocalForn.Columns[0].Width := 80;
      GridLocalForn.Columns[2].Width := 385;


      GridLocalForn.Columns[1].Width := 0;      
      for i:=3 to 21 do GridLocalForn.Columns[i].Width := 0;

      GridLocalForn.Columns[0].Title.Caption := 'CÓDIGO';
      GridLocalForn.Columns[2].Title.Caption := 'NOME FANTASIA';

end;
Okay...até aí tudo certo....o problema vem na hora que eu vou fazer a busca.. tenho um Edit para digitar o codigo ou nome a ser buscado... então no OnChange do edit está assim:
procedure TfrmLocalForn.txtLocalForn_CodChange(Sender: TObject);
begin

 // Buscar por Código
    With QueryLocalForn Do
      begin
         Close;
         SQL.Clear;
         SQL.Add('SELECT * FROM FINAFOR.dbf');
         SQL.Add('WHERE FORCOD');
         SQL.Add('LIKE '''+txtLocalForn_Cod.Text+'%'''); //Iniciado por
         SQL.Add('ORDER BY FORFAN');
         Open;
      end;

end;

no primeiro caracter que digito, o DBGrid volta às suas configurações padrão.....com todos os campos visíveis, os tamanhos diferentes do que eu determinei....ou seja...como se cancelasse tudo o que ocorreu no evento OnCreate do form....

o que eu preciso fazer pra essas configurações não se alterarem???

Obrigado

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0
no primeiro caracter que digito, o DBGrid volta às suas configurações padrão.....com todos os campos visíveis, os tamanhos diferentes do que eu determinei....ou seja...como se cancelasse tudo o que ocorreu no evento OnCreate do form....

o que eu preciso fazer pra essas configurações não se alterarem???

Voce poderia fazer assim: ... mas fica um codigo ruim, pois estaria chamando o evento OnCreate a cada digitação

um codigo melhor seria fazer uso do Editor de Colunas do DBGrid ( basta dar 2 cliks no DBGrid e adicionar somente as colunas que voce quer )

procedure TfrmLocalForn.txtLocalForn_CodChange(Sender: TObject);
begin

// Buscar por Código
    With QueryLocalForn Do
      begin
         Close;
         SQL.Clear;
         SQL.Add('SELECT * FROM FINAFOR.dbf');
         SQL.Add('WHERE FORCOD');
         SQL.Add('LIKE '''+txtLocalForn_Cod.Text+'%'''); //Iniciado por
         SQL.Add('ORDER BY FORFAN');
         Open;
      end;

end;

TfrmLocalForn.OnCreate(Sender);

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