![]() |
separadores de mil a una columna del dbgrid
hola,
necesito colocarle un formato con separadores de mil a una columna de un dbgrid llamada total. teniendo encuenta que la consulta puede variar y el numero de campos atravez del query . es algo como una consulta filtrada de campos. gracias, espero k me entiendan firebir 2.0 , delphi 7 |
1. Abres la base de datos.
2. Usas un ciclo for y determinas el tipo de campo 3. si es Currency, BCD, Float o Numerico pues, le agregas su propiedad DisplayFormat #,###,###,###,##0.00 Y ya |
no te entendi.
|
Ok vamos siendo mas explicitos.
Eso que pides no va en el Grid a menos que el grid tenga eventos o propiedades que nos permitan editar, por ejemplo el TcxDBGrid, que es de un tercero y de paga. Dime que version de delphi usas, que base de datos o componente de base de datos y que Grid es por favor |
Cita:
|
Imagino que usas DBExpress o usas IBX?
Ya tu haces los cambios y lo adaptas a lo que necesitas, puedes agregar mas tipos de campos, etc. |
Cita:
y si el campo es creado en una subconsulta, como se lo agrego. |
Hola...
Si el resultado de la subconsulta es parte del DataSet que estás usando para obtener los datos, no tienes que hacer nada más. Yo solo le quitaría que verifique si el campos es del tipo ftInteger ya que mayormente este tipo de datos no necesita formato de decimales. Saludos... |
Ampliemos el codigo:
Entero sin decimales, claro esta que faltan mas tipos de campos, pero ahi te dejo la idea para que lo completes. |
Cita:
FieldType me dice que no lo reconoce, ni displayformt lo probe utilizando un dataset compañero pero yo mas que todo uso el query en mis consultas. como seria |
Hola.
Cita:
Saludos. |
Sin animo a controversia, prefiero el Case, ya que asi acomodas como desees el formato segun el tipo, es mas rapido que un IF y para mi es mas claro en la lectura ademas.
Claro esta que es ya de cada quien ;) |
Hola oesqueda.
Lo que quise ejemplificar a ingabraham fue como acceder a la propiedad DisplayFormat desde la consulta y puse más énfasis en la simplicidad del código que en la eficiencia del mismo. Aunque realmente, en un código que se ejecuta esporádicamente, para una cincuentena de campos como mucho y comparando dos o tres valores, no pareciera que el uso del case mejore significativamente la performance de la aplicación en este caso. Saludos. |
En tal caso mi estimado es a cuestion del programador, a mi me gusta mas el Case, ya imgabraham vera cual le satisface mejor no crees?
|
Cita:
Totalmente de acuerdo, ahora que sabe que cast aplicar para obtener la propiedad DisplayFormat, que creo era la dificultad que dijo tener: Cita:
|
Cita:
y en tnumericfield. |
Hola ingabraham.
Para disipar toda duda probé el código que te adjunté con la siguiente tabla: Como bién verás, contempla todos los tipos numéricos. Y no genera ningún tipo de error. Revisé el hilo desde el principio y no has puesto una sóla línea de tu código. No está a nuestro alcance adivinar que es lo que estas haciendo.;) Por que no nos simplificas un poco la tarea y nos pones: El tipo de campos que definiste en Firebird, la porción de código involucrado donde te genera el error, la línea donde se produce y "literalmente" el mensaje que te arroja. Gracias. |
tengo un bdgrid/ query y dataset conectado
utilizo delphi 7 y firebird 20 este es el bton que me muestra la consulta
ahora este codigo que me dan , cualquiera de los que me han dado. lo adiciono a continuacion de esto.
me muestra que no reconoce los tipos ftFloat, ftCurrency, ftBCD falta alguna uses, x que no me reconoce esto. |
Hola ingabraham.
No parece haber ninguna cosa extraña en tu código, todo es correcto. Cita:
Ayuda de Delphi: Cita:
Saludos. |
exacto era la uses DB.
companneros tambien encontre este procedure x alli.
|
| La franja horaria es GMT +2. Ahora son las 12:55:57. |
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