DynamicJasper (on Grails) garder Délibérément colonne ou champ vide (vide)
-
05-10-2019 - |
Question
Je veux générer un rapport pdf, où est vide gauche (vide) sur le but d'une colonne (ou cellule / champ). Cette colonne a bel et bien une valeur mais, je choisir de ne pas l'afficher. Le titre de la colonne doit encore être affiché.
Exemple d'où cela pourrait être utile:
- Blank (vide) colonne:. A des commentaires ou des notes colonne sur un côté d'un rapport
- cellule vide (vide). La version imprimée de puzzle A
Très apprécié. DynamicJasper est génial! Merci à l'équipe de dj.
Cordialement, Pete
La solution
heureux d'annoncer, solution trouvée pour ajouter une colonne « vide » - et en bref, il est de créer une Expression personnalisée
.def cb = ColumnBuilder.getInstance()
cb = cb.setTitle("Notes")
cb = cb.setCustomExpression(new BlankExpression())
AbstractColumn columnNotes = cb.build()
Ajoutez ensuite au reste du rapport.
Classe BlankExpression est
public class BlankExpression implements CustomExpression {
public BlankExpression() { }
public Object evaluate(Map fields, Map variables, Map parameters) {
return " ";
}
public String getClassName() {
return String.class.getName();
}
}
Mais il y a quelques problèmes liés à l'utilisation des customExpressions et Grails.
1er numéro: "getNew ()" - Les exemples fournis sur le site Web de DJ toute utilisation "(getNew)" http://dynamicjasper.sourceforge.net/docs/HOWTO%20Create% 20Custom% 20Expressions.html est un exemple de DynamicJasper v3.1.3 alors que le plugin Grails est basé sur v.3.0.6 qui ne dispose que d'une méthode getInstance () (déconseillée en 3.1.3)
2ème question: Pour autant que je peux voir, groovy ne permet pas implémentations de classe en ligne de style java, ce qui nous oblige à créer un fichier de classe distinct. Mais ce n'est pas un gros problème. Je peux me tromper à ce sujet, et s'il vous plaît me corriger.
Espérons que cela vous aide aussi.
Cordialement, Pete