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()
Puis ajoutez-le 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 DJ utilisent tous « 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 a seulement une méthode getInstance() (obsolète en 3.1.3)
2ème question: Pour autant que je puisse le voir, groovy n'autorise pas les implémentations en classe 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 corrigez-moi.
Espérons que cela vous aide aussi.
Cordialement, Pete
Je pense que la fermeture à l'aide devrait faire l'affaire au lieu de déclarer une nouvelle classe. Je vais essayer cela et poster mon code si cela fonctionne. –