|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||||||
|
Nouveau Membre du Club
![]() Inscription : septembre 2006 Messages : 185 ![]() |
Bonjour,
j'utilise Jaspersoft iReport Designer 4.1.3 pour designer mes rapport. J'utilise une crosstab dans un rapport et 1) je voudrais trier mes lignes dans le sens croissant lexicographiquement: J'ai ma row group qui est une propriété "ACT_NAME" dont la Bucket expression est "$F{actName}" et la bucket Value Class est "java.lang.String". J'ai spécifié un ordre "Ascending" mais cela ne change rien 1) je voudrais trier mes colonnes dans un certain sens: J'ai ma column group qui est une propriété "SST_STATUS" dont la Bucket expression est "$F{sstStatus}" et la bucket Value Class est "java.lang.String". je voudrais par exemple mettre en première colonne le cas où $F{sstStatus} est ègal à '131', mettre en deuxième colonne le cas où $F{sstStatus} est ègal à '145' J'envoie les choses suivantes à mon rapport Code :
J'ai trouvé la page internet qui suit (http://stackoverflow.com/questions/2...atorexpression) qui parle des comparatorExpression mais je ne sais pas comment l'adapter à mon cas I've had the same issue and did not find any examples or explanation but I found how to do it. I'll explain, so hopefully other people can use this solution. I've used the code below for jasperreports 3.1.0 and iReport 3.1.4, but I guess it works for pretty much all versions. First you'll have to make sure that you know wich class you have in the bucket expression for your row/column group. By default this is java.lang.String, but I have a custom class there. For this to work I needed to edit the xml like this for my column group: Code :
Code :
Then you'll need to add a Comparator as a parameter, for example: Code :
Final step: Put $P{OVERRIDE_Comparator} as the Comparator Expression in the row/column group you needed. When compiling such a report, the most likely compile error would be casting issues. Jasperreports defaults to java.lang.String, you might need to edit the xml of the report manually to get the correct class at each step. (I found out this method from some asian site, thankfully the code itself was readable! :-) ) Pour adapter tout ceci à mon cas, je ne sais pas 1) comment passer la classe "com.project.CustomObj" à mon rapport depuis mon code java. Comment Jasper peut-il connaitre cette classe ? Faut-il la définir au niveau du code java et dans ce cas comment la passer à Jasper ? ou faut-il la définir au niveau de Jasper Designer et dans ce cas comment faire ? 2) comment passer le paramètre "OVERRIDE_Comparator" à mon rapport jasper. Faut-il le définir au niveau du code java et dans ce cas comment le passer à Jasper ? ou faut-il le définir au niveau de Jasper Designer et dans ce cas comment faire ? Merci d'avance pour vos réponses |
||||||||
|
|
00
|
|
|
#2 |
|
Invité régulier
![]() Inscription : juin 2004 Messages : 8 ![]() |
Bonjour,
aurais-tu trouvé une solution à ton problème car je cherche à faire la meme chose que toi. C'est à dire trier mon tableau par rapport à une valeur contenu. D'avance merci ! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com