2010-03-08 41 views
11

¿Hay alguna manera de establecer un valor predeterminado para un campo en un informe? Tengo muchos campos String en un informe y me gustaría que muestren "0,00" cuando son nulos.JasperReports: valor predeterminado en lugar de 'nulo'

+0

Si no está satisfecho con las respuestas, por favor agregue más detalles a su pregunta – medopal

+0

Creo que también debe cambiar el valor del texto al valor numérico y establecer el patrón y eventualmente establecer 0 no el "0,00" porque es no formato global para números. –

Respuesta

17

Suponiendo que el nombre del campo es "valor", en la "expresión de campo de texto", escribe: Respuesta

($F{value} != null) ? $F{value} : "0.00"

+5

Asegúrese de verificar la configuración del lenguaje de scripting para el informe, para mí en iReport Designer 4.0.2 esta sintaxis funciona en Java pero no en Groovy – benz001

0

¿Intentó establecer un patrón en el campo de texto?

Si está utilizando iReport, puede encontrarlo en las propiedades del campo de texto en la sección Text Field Properties.

Pruebe algo a lo largo de las líneas de ###0.00 para representar 1234.56, que siempre mostraría 0.00 incluso si es nulo.

4

de medopal es buena, pero 2 adiciones:

1) Usted puede hacer la sintaxis más corta:

($F{field_name}) ? $F{field_name} : "0.00"

2) Asegúrese de que sus datos "más" es de la misma clase que el campo de v alue, de lo contrario obtendrá errores cuando intente forzar números en una cuerda, etc. Esto fue algo que, cuando comencé, me confundí.

+0

Cuando elimino '! = Null' obtengo' Tipo no coincidente: no se puede convertir de String a boolean'. –

+0

Es muy posible que la tecnología haya cambiado en los 7 años desde que proporcioné esta respuesta, en el momento en que probé que funcionó antes de su publicación. Ya no soy un usuario activo de JasperReports, @JamieKitson. Espero que encuentres un recurso actualizado que te ayude. – semperos

4

También puede seleccionar "En blanco cuando nulo" en las propiedades del campo de texto si así lo desea. Otras opciones son más flexibles, pero esto hace el truco muy rápido y fácil.

+0

Solución mucho más elegante y simple que las anteriores. – Dekel

+0

Sí, pero solo funciona si solo tiene el campo único en el cuadro de texto. –

0

Esta es la forma más fácil de utilizar la función Coalesce() or NVL() de la base de datos en su consulta de origen de datos para restringir los datos nulos en su informe.

Pero depende de si se le permite cambiar la consulta del origen de datos o no. De lo contrario, puede buscar otras soluciones proporcionadas en respuestas anteriores.

Cuestiones relacionadas