Ir ao conteúdo
  • Cadastre-se
Gabriel Sassaki

Delphi Trocar de abas e botão voltar Delphi

Recommended Posts

Boa tarde a todos,

 

Como já havia dito em um post anterior, sou novato em desenvolvimento e mais ainda em Pascal/Delphi, no programa que estou escrevendo, me deparei com um problema que de repente é até simples mas não estou conseguindo resolver.

Tenho uma unit, dentro desta unit tenho um PageControl com seis abas e dentro da primeira aba tenho outro PageControl com mais duas abas (por enquanto).

Pois bem, dentro das abas deste último PageControl, tenho dois DBGrids, com SQLDataSet, DataSetProvider e ClientDataSet.

Inseri e programei alguns botões para Inserir, Editar, Excluir, Cancelar, Salvar e Sair, todos configurados e funcionando, tudo no PageControl(último citado).

Ainda no mesmo PageControl, coloquei um ComboBox e um botão de "OK", para selecionar as abas, funcionando quase da forma que preciso.

Ainda no mesmo PageControl, coloquei um campo TEdit para digitar e um potão de pesquisa, também funcionando, para as duas abas.

Ainda no mesmo PageControl, e agora vem a questão mesmo, inseri um botão de voltar, programei a parte em que ele apaga os dados escritos no campo de pesquisa porém, ele não retorna a tabela ao seu estado original, a tabela fica com o resultado da busca indefinidamente.

1º Como posso fazer para que quando eu trocar de abas em qualquer um dos PageControl's a outra aba desapareça?

2º Como posso fazer para que quando eu clique no botão voltar o grid retorne ao seu estado original?

Se houver mais alguma dica ou algo que eu possa melhorar em meu código(o que eu acho muito provável), eu agradeço imensamente.

 

Segue o código do botão voltar até agora:

 

procedure TfrmCompras.sbtnVoltarClick(Sender: TObject);
  Var
i : Integer;
begin
for i := 0 to ComponentCount -1 do
if Components is TEdit then
  begin
    TEdit(Components).Text := '';
  end;

  if pcFormCompras.ActivePage = tbsInsumos then
    begin
      tbsInsumos.TabVisible := false;
      TClientDataSet(dsInsumos.DataSet).Close;
      TClientDataSet(dsInsumos.DataSet).Open;
      tbsInsumos.TabVisible := true;
    end;
end;

 

Código do botão "OK" para troca de abas do segundo PageControl, o do primeiro é basicamente a mesma coisa:

 

procedure TfrmCompras.sbtnComprasFormClick(Sender: TObject);
begin
  case cbxComprasForm.ItemIndex of
    0 :  tbsInsumos.TabVisible := true;
    1 :  tbsProcedimentos.TabVisible := true;
  end;
  edtFormCompras.SetFocus;
end;

 

Utilizo Win10Pro64, Delphi Tokyo, MySQL(HeidiSQL)

 

Desde já agradeço imensamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×