Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Displayformat en un ClientDataSet creado en ejecución ? (https://www.clubdelphi.com/foros/showthread.php?t=61025)

David 22-10-2008 17:00:29

Displayformat en un ClientDataSet creado en ejecución ?
 
Hola

Tengo este código:
[delphi]
CDFactura:= TClientDataset.Create(nil);
CDFactura.FieldDefs.Add('Cliente',ftInteger,0,False);
CDFactura.FieldDefs.Add('Descripcion', ftString, 100, False);
CDFactura.FieldDefs.Add('cantidad',ftInteger,0,False);
CDFactura.FieldDefs.Add('BaseImponible', ftFloat, 80, False);
CDFactura.FieldDefs.Add('Total',ftFloat,0,False);

CDFactura.CreateDataSet;

//esto es lo que no me sale
TFloatField(CDFactura.FieldByName('BaseImponible')).DisplayFormat := '#,##0.#0';
TFloatField(CDFactura.FieldByName('Total')).DisplayFormat := '#,##0.#0';


CDFactura.Open;


//luego por ejemplo se rellenan asi en un bucle
CDFactura.FieldByName('Cliente').AsInteger := 1;
//.......
CDFactura.FieldByName('BaseImponible').AsFloat := 3.431;// por ejemplo

[delphi]

luego quiero escribir los valores en un excel, pero cuando escribo los valores númericos, BaseImponible y Total, me salen con todos los decimales, es decir si quiero que me salga 3,43, me sale 3,431, no me hace el displayformat correspondiente.

La forma que lo he hecho yo, la he intuido, pues nunca la visto hecha, pero he pensado que igual así, el caso es que así no funciona.

Un saludo

roman 22-10-2008 17:18:18

Pero es que no es esto lo que debes preguntar. DisplayFormat determina cómo se presentan los datos dentro de la aplicación, pero Excel queda fuera de la aplicación. Entonces, tendrías que preguntar cómo establecer el número de decimales para una celda de Excel.

// Saludos


La franja horaria es GMT +2. Ahora son las 11:37:05.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi