duvida no fielddefs.Add

Delphi

13/03/2014

Estou com uma duvida simples:

Crio um clientdataset em tempo execução, com fielddefs.Add tipo ftcurrency.
No grid mostra correto com duas casas decimais.
Quando transporto para excel aparecem mais casas por conta de um rateio.

Se existir, qual a propriedade no clientdataset que eu seto a casa decimal para duas?
Seria a propriedade precison, com duas casas decimais?
E como faço pra declarar?
Manja

Manja

Curtidas 0

Respostas

Joel Rodrigues

Joel Rodrigues

13/03/2014

Olha, eu acho que para essa parte de exportação a configuração visual é mais importante, então você pode dar uma olhada na propriedade DisplayFormat e definir como #,##0.00.
GOSTEI 0
Manja

Manja

13/03/2014

Ja foi feito amigo.

for i:= 0 to cgrid.FieldCount - 1 do
begin
if ( cgrid.fields [i] is Tcurrencyfield ) then
begin
Tcurrencyfield ( cgrid.fields [i] ).DisplayFormat := '##,###,##0.00';
Tcurrencyfield ( cgrid.fields [i] ).editFormat := '##,###,##0.00';
Tcurrencyfield ( cgrid.fields [i] ).currency := True;
Tcurrencyfield ( cgrid.fields [i] ).Precision:= 2;
end;
end;


O grid obedece, o excel que nao....
Ate setei numberformat do excel ms da na mesma, nao obedece.
GOSTEI 0
Marcos Oliveira

Marcos Oliveira

13/03/2014

Porque você não grava o rateio direto no ClientDataSet já formatando com 2 casas decimais?
Creio que isso resolveria o problema.

Att,

Marcos
GOSTEI 0
Manja

Manja

13/03/2014

Porque sao muitos campos pra compor o principal.
Mas se nao tiver outra forma...
GOSTEI 0
POSTAR