GARANTIR DESCONTO

Fórum Herdar TclientDataset #343293

14/07/2007

0

Olá Pessoal,

Eu gostaria que meus clientdatasets realizassem o seguinte procedimento no evento afterpost:

(Datset as Tclientdataset).applyupdates(0);
(Datset as Tclientdataset).refresh;

Eu tentei criar um componente descendendo de um TcustomClientDataset que implementasse estas duas linhas no evento, mas não consegui, pois nunca criei um componente.

Alguem poderia me orientar ? Obrigado.


Usuariogeral

Usuariogeral

Responder

Posts

18/07/2007

Marco Salles

não daria no evento afterpost dos ClientDataSet voce digitar...

TClientDataSet(sender).applyupdates(0); TClientDataSet(sender).refresh;


depois é so ligar os manipuladores do evento afterpost dos outros clientDataSet a este


Responder

Gostei + 0

18/07/2007

Vitor Alcantara

Se não existir mais nenhum evento particular no seu componente dataset você pode criar um laço pra fazer isso pra você.

Primeiro você cria a Procedure com os eventos.

  private
    procedure ProcAfterPost(Sender:TdataSet);
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FrmCad: TFrmCad;

implementation

procedure TFrmCad.ProcAfterPost(Sender:TdataSet);
begin
  TClientDataSet(Sender).applyupdates(0);
  TClientDataSet(Sender).refresh;
end;


dai você pode colocar isso no OnCreate do seu DataModule/Form

var
  x:integer;
begin
  for x := 0 to ComponentCount - 1 do//Laço para pecorrer todos os components do form.
  if Components[x] is TClientDataSet then//Verifica se o component é um TClientDataSet
  TClientDataSet(Components[x]).AfterPost := ProcAfterPost;//Se for ele atribui o procedimento ProcAfterPos ao evento AfterPost do mesmo
end;



Responder

Gostei + 0

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

Aceitar