Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   nuevo en delphi (como dar formato a una columna en dbgrid ) (https://www.clubdelphi.com/foros/showthread.php?t=14152)

gmontes 10-09-2004 22:30:50

nuevo en delphi (como dar formato a una columna en dbgrid )
 
tengo un dbgrid conectado a un client dataset
cdsfac

with DMSIU.zroqryFac do
begin
Close;
SQL.Clear;
DMSIU.cdsFac.Active:=false;
sql.add('select f.documento, f.remision, c.nombre, f.fechae, f.paciente, f.estatus, f.importet');
sql.add('from facturas f, clientes c where f.tipo =''F'' and f.clavec = c.clavec');
Open;
DMSIU.cdsFac.Active:=true;
end;

todo funciona correctamente, pero el importe me lo despliega con muchos decimales, como puedo hacer que despliegue dos decimales

y como doy formato a los campos del dbgrid
gracias

jachguate 10-09-2004 23:22:51

Hola. Te recomiendo en futuras ocasiones usar, antes de preguntar, la busqueda de los foros. Este tema se ha tratado en multiples ocasiones.

Date una vuelta por la ayuda, buscando las propiedades DisplayFormat y EditFormat de los TField (específicamente TIntegerField, TFloatField, TDateTimeField, etc).

Como veras, esto no se maneja a nivel del grid, sino a nivel del dataset.

hasta luego.

;)

gmontes 13-09-2004 17:40:42

disculpa mi ignorancia en el tema, pero son mis primeros programas en delphi



creo que no me has entendido o no he sabir explicarme. segun entiendo al ser sql. el dbgrid no tiene campos hasta que no se ejecuta la intruccion sql que hace el llamado a la tabla dentro de mni database, por lo que no existen campos asociados a el dbgrid . existe mediante instrucciones la manera de configurar los campos que desplegara el dbgrid siendo que estos campos pueden ser diferentes dependiendo de la instruccion sql que se ejecute??.


por tu comprension gracias

jachguate 13-09-2004 17:58:22

Hola. De verdad que lo has enredado un poco.

He intentado decirte ya antes que el dbGrid no formatea por si mismo los campos. Esto se define a nivel del DataSet asociado, con las propiedades DisplayFormat y EditFormat. Estas podes establecerlas en tiempo de diseño o en tiempo de ejecución sin ningun problema.

Por tanto podes hacer algo como:
Código Delphi [-]
  Query1.sql.Text := 'Select codigo, descripcion costo from articulo';
  Query1.open;
  Query1.FieldbyName('costo').DisplayFormat := ',#0.00';

Y veras como salen "formateados".

Hasta luego.

;)

gmontes 13-09-2004 20:53:47

gracias por la ayuda,
ya lo encontre



with DMSIU.zroqryFac do
begin
Close;
SQL.Clear;
DMSIU.cdsFac.Active:=false;
sql.add('select f.documento, f.remision, c.nombre, f.fechae, f.paciente, f.estatus, f.importet');
sql.add('from facturas f, clientes c where f.tipo =''F'' and f.clavec = c.clavec');
Open;

with DMSIU.cdsFac do
begin

Active := true;
(FieldByName('importet') as TFloatField).DisplayFormat := '###,##0.00';
end;
end;


La franja horaria es GMT +2. Ahora son las 17:22:46.

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