![]() |
Formato DBGrid - No encuentro como :(
Buenos días.
He estado buscando por internet y por este foro, pero por más que busco no encuentro solución a mi problema. Al mostrar los datos de una base de datos en un DBGrid, si la cantidad no tiene decimales no los muestra. Por ejemplo: Valor Muestra ===== ====== 123,00 123 123,40 123,4 Y quiero formatearlo de tal manera que siempre me muestre los decimales. Uso delphi 2009. Me veo en la obligación de agradeceros por adelantado, haceis una labor genial y desinteresada. Un abrazo. |
Hola
Bienvenido al club. El dbgrid es un depositario de la informacion que contiene un table o query. hay una pantalla que contiene los datos de la tabla. Si le das doble click al table o al query te saldra esta pantalla. Ahi es donde se puede configurar cada campo. Si tienes alguna duda indicalo. Por cierto que base de datos usas?. Saludos |
Hola, como te ha indicado Caral es al campo de tu DataSet al que le tienes que dar formato para eso tienes la propiedad DisplayFormat con el cual puedes dar formato, ejemplo si pones esto "0.00" sin las comillas en DisplayFormat del campo, te mostara con dos decimales aunque no los tenga.
Saluditos |
Gracias.
Muchisimas gracias a l@s dos por contestarme y también por la rapidez, jo con gente así da gusto :D. Voy a probarlo ahora mismo. Por cierto Caral, me conecto a ACCESS 2003 :P
Un abrazo. ------[Editado]------ Sigo por aquí para no crear una nueva respuesta. He hecho lo que comentais y perfecto, pero me surge otro problema. Le he dado el formato al Query y el DBGrid me muestra los decimales, pero sin embargo, al hacer esto: Label7.Caption := 'El importe total asciende a ' + floattostr(qtotal.Fields.FieldByName('total').AsFloat); El label no me muesta el formato. Muchas gracias por la ayuda :D |
Hola
Debería de mostrar los decimales tambien, ya que se liga al query. De todos modos con DisplayFormat se podria hacer. Saludos |
Cita:
Prueba a ver y ya nos dirás. Saludos |
Funciona :)
Gracias Caral y fjcg.
Al final hice esto para solucionarlo, mirando la documentación de la función FloatFormat: Label7.Caption := 'El importe total asciende a: ' + FormatFloat('0.00',qtotal.Fields.FieldByName('total').AsFloat); Muchas gracias por contestar, pero ahora me surge otro problema; para respetar la guia de estilo lo posteo en otra sección, este es el enlace: http://www.clubdelphi.com/foros/show...884#post330884 Por cierto, muchísimas gracias otra vez por todo, soys geniales :) Un abrazo. |
Cita:
Hola de nuevo, si usas un Label tienes que hacerlo como lo has hecho con FormatFloat, pero también puedes utilizar un DBText con este componente ya no necesitas darle formato, porque tomara el que le has dado a tu DataSet, lo enlazas como lo haces con tu DBGrid y escojes el campo. Con el DBText, te evitaras hacer esta asignación Label7.Caption := FormatFloat(', qtotal.Fields.FieldByName('total').DisplayFormat, qtotal.Fields.FieldByName('total').AsFloat); Sobre tu otro problema no es necesario editar el titulo, debe quedarse tal cual lo has puesto para que ayude en las busquedas, por eso es bueno tomarse un poco de tiempo y poner un titulo descriptivo, también es bueno que una vez que te ha ayudado la respuesta que te han dado o hayas encontrado tu la respuesta, lo publiques mandando otro mensaje en el mismo hilo. Saluditos |
Cita:
Label7.Caption := 'El importe total asciende a ' + qtotal.Fields.FieldByName('total').DisplayText; |
Gracias por contestar :)
Gracias por contestar amigos, por cierto, no tengo ni idea de que es un currency, pero ahora mismo lo busco. Muchas gracias.
|
La franja horaria es GMT +2. Ahora son las 05:22:45. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi