Campos calculados X ClientDataSet

Delphi

17/04/2007

Bom dia pessoal..
Estou com um problema que é o seguinte..

Tenho uma tabela DefCab onde tenho entre outros campos..
PrcUnit,QdeTotal e um calculado TotalGer

DefItens onde tenho os campos
Qde1,Qde2...Qde6 e um campo calculado TotQde

No evento onCalcfields
tenho este código..
CdsDefItensTotQde.AsInteger := CdsDefCabTotQde.asInteger + Qde1+qde2...+Qde6
CdsDefCab.TotalGer.AsCurrency := CdsDefItensTotQde.AsInteger * CdsDefCab.PrcUnit.AsCurrency


Estou dando a manutenção dos itens em uma grid, acontece que os totais só são mostrados depois de um post, o engraçado é que ele vai calculando o total ou seja o preço unitário * as quantidades e este ele mostra.
Alguém sabe se isto tem solução??
Estou utilizando Delphi 7 Com DBExpress e firebird 1.53
Grato
Fausto


Faustoalves

Faustoalves

Curtidas 0

Respostas

Acacio

Acacio

17/04/2007

enquanto ele estiver desenhando no grid ele estará entrando no evento
onCalcFild. Portanto é contínuo este cálculo.


Não entendi os totais que tu falasse. Como assim só depis de um post;

Tenta assim coloca a propriedade da query enablecontrols como false
antes de abrir. Depois de fazer todos os cálculos coloca ela novamente como true. Isso fará com que o gid não fique atualizando a toda hora.


GOSTEI 0
Faustoalves

Faustoalves

17/04/2007

Veja bem...
E estou digitando na grid
qde1 qde2 qde3...qde6 Total

o que quero é que a cada qtde digitada seja mostrado o total sem dar o post, pois isto só acontece qdo dou o post...
Estou utlizando ClientDataSet o post não envia nada ao banco somente apos o ApplyUdates, que tenho em um botão Encerrar...

Fausto


GOSTEI 0
POSTAR