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.