Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-12-2008
ajgomezlopez ajgomezlopez is offline
Miembro
 
Registrado: dic 2008
Posts: 20
Poder: 0
ajgomezlopez Va por buen camino
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.
Responder Con Cita
  #2  
Antiguo 14-12-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
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
__________________
Siempre Novato
Responder Con Cita
  #3  
Antiguo 14-12-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
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
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #4  
Antiguo 14-12-2008
ajgomezlopez ajgomezlopez is offline
Miembro
 
Registrado: dic 2008
Posts: 20
Poder: 0
ajgomezlopez Va por buen camino
Gracias.

Muchisimas gracias a l@s dos por contestarme y también por la rapidez, jo con gente así da gusto . 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

Última edición por ajgomezlopez fecha: 14-12-2008 a las 20:24:09.
Responder Con Cita
  #5  
Antiguo 14-12-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Debería de mostrar los decimales tambien, ya que se liga al query.
De todos modos con DisplayFormat se podria hacer.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #6  
Antiguo 14-12-2008
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.410
Poder: 22
fjcg02 Va camino a la fama
Cita:
Empezado por ajgomezlopez Ver Mensaje
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.
Deberás utilizar
Código Delphi [-]
Label7.Caption := 'El importe total asciende a ' + FormatFloat(', qtotal.Fields.FieldByName('total').DisplayFormat, qtotal.Fields.FieldByName('total').AsFloat);
Prueba a ver y ya nos dirás.

Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #7  
Antiguo 14-12-2008
ajgomezlopez ajgomezlopez is offline
Miembro
 
Registrado: dic 2008
Posts: 20
Poder: 0
ajgomezlopez Va por buen camino
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.

Última edición por ajgomezlopez fecha: 15-12-2008 a las 00:02:38.
Responder Con Cita
  #8  
Antiguo 15-12-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Cita:
Empezado por ajgomezlopez Ver Mensaje
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.

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
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #9  
Antiguo 15-12-2008
luisgutierrezb luisgutierrezb is offline
Miembro
 
Registrado: oct 2005
Ubicación: México
Posts: 925
Poder: 19
luisgutierrezb Va por buen camino
Cita:
Empezado por ajgomezlopez Ver Mensaje
Label7.Caption := 'El importe total asciende a ' + floattostr(qtotal.Fields.FieldByName('total').AsFloat);
El label no me muesta el formato.
El problema esta en que al decirle AsFloat pides el numero un numero como tal un float (por cierto, procura usar currency), es mejor ponerle .DisplayText que es string y te mostrara tal cual le hace el formato o sea

Label7.Caption := 'El importe total asciende a ' + qtotal.Fields.FieldByName('total').DisplayText;
Responder Con Cita
  #10  
Antiguo 16-12-2008
ajgomezlopez ajgomezlopez is offline
Miembro
 
Registrado: dic 2008
Posts: 20
Poder: 0
ajgomezlopez Va por buen camino
Talking 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.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Como darle Formato a campos de tipo float en un dbGrid ???? AGAG4 PHP 2 10-09-2008 16:42:38
Como se programa para un TPV??? No encuentro nada en la búsqueda... Bahamut Varios 16 25-06-2008 00:37:12
como dar formato a un campo float en un dbgrid con datos de un select gmontes SQL 3 26-06-2006 22:00:21
Como cambiar el formato de un QRSysData en formato fecha Bitbanner Tablas planas 1 13-02-2005 12:33:26
nuevo en delphi (como dar formato a una columna en dbgrid ) gmontes Conexión con bases de datos 4 13-09-2004 20:53:47


La franja horaria es GMT +2. Ahora son las 18:46:48.


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
Copyright 1996-2007 Club Delphi