FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Formato en columnas
Necesito dar formato a una columna de un dbgrid. Si bien he leido algunos hilos al respecto, tengo Delphi 6 y he probado con la función DisplayFormat del TField y la misma no me compila.
Alguien sabe si es a causa de mi versión de Delphi ya que en Dephi 7 funcinoa correctamente? Si es así, cómo se hace para darle formato a una columna en Delphi 6? Chas gracias desde ya. gandalf_uy acá pongo un ejemplo de lo que no me compila Query1.sql.Text := 'Select codigo, descripcion costo from articulo'; Query1.open; Query1.FieldbyName('costo').DisplayFormat := ',#0.00'; |
#2
|
||||
|
||||
Cita:
Cita:
Saludos!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#3
|
|||
|
|||
El error que me da es este:
[Error] Primer_Nivel.pas(440): Undeclared identifier: 'DisplayFormat' Directamente no la encuentra como una propiedad del TField. Plis jelp !!! |
#4
|
||||
|
||||
DisplayFormat es una propiedad de los TNumericField, TDateTimeField, TSQLTimeStampField y TAggregateField ( y sus heredados).... ¿Qué tipo de campo estas tratando de "formatear"?
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. Última edición por delphi.com.ar fecha: 29-08-2005 a las 21:24:41. |
#5
|
|||
|
|||
El campo que estoy tratando de formatear es un campo del tipo Integer.
Pero si yo hago esto: Query1.FieldByName( 'codigo'). supuestamente ahi es donde me trae la ventana de ayuda y me despliega propiedades y métodos. En ningun momento me trae DISPLAYFORMAT, si me trae DISPLAYTEXT, DISPLAYNAME, DISPLAYNAME pero no DISPLAYFORMAT. Igual asi lo escribo Query1.FieldByName( 'codigo').DisplayFormat := '#.##'; y al compilarlo es que me salta el error que te mencioné. Gracias delphi.com.ar por intentar ayudarme en la solución de este problema... |
#6
|
||||
|
||||
Tendrías que "castearlo", y no tomarlo como un sumple TField:
Saludos!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#7
|
|||
|
|||
Lo que no me queda claro en lo que me decis es si al utilizar la funcion FIELDBYNAME supuestamente DELPHI no debe saber de que tipo es el campo de un query hasta el momento de ejecucion. No se como decirle que ese campo es de tipo TNumericField que si he buscado y he encontrado la propiedad DISPLAYFORMAT para este tipo de objeto.
gracias again |
#9
|
|||
|
|||
Otra solución
Esa es una manera de solucionar el problema, la otra es colocando DB en uses:
Ej: Uses DB; De esta manera puedes usar las líneas de código. with Query1 do begin close; sql.Clear; //Código de la consulta. sql.Open; (FieldByName('Fecha') as TDateTimeField).DisplayFormat:= 'dd/mm/yyyy'; (FieldByName('Precio') as TNumericField).Displayformat:= '$,0.00'; (FieldByName('Numero') as TNumericField).Displayformat := '#,0.0'; (FieldByName('Porcentaje') as TNumericField).Displayformat := '%,0'; end; |
|
|
|