DynamicJasper (en Grails) mantener a Propósito columna o campo en blanco (vacío)
-
05-10-2019 - |
Pregunta
Quiero generar un informe en PDF, en una columna (o de células / campo) está en blanco izquierdo (vacío) a propósito. Esta columna realidad tiene un valor, pero, estoy eligiendo no mostrarlo. El título de la columna todavía necesita ser mostrada.
Ejemplo de donde esto podría ser útil:
- blanco (vacío) columna:. A los comentarios o notas de la columna por un lado de un informe
- blanco (vacío) celular:. Un sudoku impresión de rompecabezas
muy apreciado. DynamicJasper es impresionante! Gracias a la dj-equipo.
Saludos, Pete
Solución
Estamos encantados de anunciar, solución encontrada para añadir una columna de 'vacío' - y, en definitiva, es crear un customExpression
.def cb = ColumnBuilder.getInstance()
cb = cb.setTitle("Notes")
cb = cb.setCustomExpression(new BlankExpression())
AbstractColumn columnNotes = cb.build()
A continuación, agregarlo al resto del informe.
Clase BlankExpression es
public class BlankExpression implements CustomExpression {
public BlankExpression() { }
public Object evaluate(Map fields, Map variables, Map parameters) {
return " ";
}
public String getClassName() {
return String.class.getName();
}
}
Sin embargo, hay algunas cuestiones relacionadas con el uso de customExpressions y griales.
primera edición: "Bajar Nuevo ()" - Los ejemplos proporcionados en el sitio web de DJ todo el uso "(Bajar Nuevo)" http://dynamicjasper.sourceforge.net/docs/HOWTO%20Create% 20Custom% 20Expressions.html es un ejemplo de DynamicJasper v3.1.3 donde como los Grails plugin se basa en v.3.0.6 que sólo tiene un método getInstance () (en desuso en 3.1.3)
segunda cuestión: Por lo que yo puedo ver, maravilloso no permite implementaciones de clase en línea de estilo de Java, por lo que nos obliga a crear un archivo de clase independiente. Pero esto no es un gran problema. Puedo estar equivocado acerca de esto, y por favor corríjanme.
Espero que esto le ayude también.
Saludos, Pete