JasperSoft Studio – Masquer une colonne proprement
JasperReports permet de définir l’affichage conditionnel d’un certain nombre d’éléments afin de les afficher ou non. Néanmoins, dans le cas où le document est affiché sous forme de plusieurs colonnes (ex : juxtaposition de sous-rapport), si une des colonnes n’est pas affichée, JasperReports laisse une colonne blanche, au lieu de la cacher avec les colonnes attenantes.
Afin de remédier à cela, une des solutions consiste à utiliser l’élément table. Cet élément permet de définir une condition d’affichage pour chacune des cellules qui le compose. Dans le cas ou aucune des cellules ne serait affiché, il masque la colonne vide en ramenant celle à sa droite vers la gauche. Ainsi il n’y a plus de colonne vide.
Depuis la palette, glisser un élément table, double cliquer dessus pour le paramétrer et ajouter des colonnes (clique droit->Créer colonne) :
Créer ensuite un paramètre « CacherColonneMilieu » de type booléen; Paramétrer chaque cellule de la colonne à masquer avec paramètre comme condifition d’affichage :
Ainsi lors de l’exécution du rapport, on choisira ou non d’afficher la colonne du millieu, et le tableau sera mis en forme proprement, sans laisser de colonne blanche au milieu.
Sans la colonne du milieu :
Avec toutes les colonnes :