![]() |
Asigna formato de campos dentro de la BBDD
Cuando despliego información en un DBGrid asigno el formato a los campos:
Código Delphi [-](query1.FieldByName('Importe') AS TFloaField).DisplayFormat:= ',0.00' (query1.FieldByName('Fecha') AS TDateField).DisplayFormat:= 'dd/mmm/yyyy' Trabajo exclusivamente con queries y cada vez que se actualiza la información o el usuario cambia el orden de los datos, tengo que asignar nuevamente el formato a cada campo. ¿Es posible definir el formato de los campos dentro de la base de datos? Utilizo D7, Firebird 2.0 e IbExpert. Gracias. Salud. |
Hola Cannabis,
¿Podrias explicarnos mejor tu duda? Me extraña que cada vez que se actualiza los datos tengas que establecer los formatos. A menos de que se construyan las consultas dinámicamente no debería suceder. ¿A que te refieres a que el usuario cambia el orden de los datos?:confused: Con FieldByName no importa si el campo en cuestión es el primero o el vigesimo segundo, si existe dicho campo lo encontrará. Si tus consultas son estáticas lo que puedes hacer es definir los campos persistentes y de ese modo en tiempo de diseño ya configuras el formato de cada campo. No se si es lo que buscas, y/o si yo entendí mal, me gustaría que nos expliques mejor tu caso. Saludos, |
Gracia por tu interés Delphius.
Cita:
La última línea del query es: ORDER BY........ Cuando el usuario cambia el orden de las columnas del dbgrid, el query se ordena según el orden establecido. En el evento OnColumnMoved:
En conclusión: cada vez que se abre el query debo especificar nuevamente el formato de los campos. Si no lo hago, los campos pierden el formato. Espero haber sido claro con mi duda. Gracias de nuevo. Salud. |
Hasta donde llego a entender de esta duda, me parece que ése es el comportamiento esperado. Cada vez que se ejecuta la consulta, el componente Query crea on-the-fly, los componentes TField adecuados y por ello hay que volver a establecer ese tipo de propiedades. Esto lo podrías evitar usando campos persistentes, es decir, mediante el editor de campos de tu Query. De esa forma, los campos TField quedan ya fijos y no vuelven a crearse en cada ejecución de la consulta.
// Saludos |
Creo el query en runtime, así que seguiré especificando el formato cada vez que ejecute el query.
Se agradece la ayuda de ambos maestros. Salud. |
| La franja horaria es GMT +2. Ahora son las 07:36:05. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi