PDA

Ver la Versión Completa : nuevo en delphi (como dar formato a una columna en dbgrid )


gmontes
10-09-2004, 22:30:50
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:

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;