Bonjour à tous.
Je suis entrain de développer des API pour générer des rapports en utilisant les API JasperReports.
Voici mon problème:
Pour pouvoir afficher la numérotation des pages (ex: 1/3,2/3, 3/3) dans le rapport, je n'ai trouvé que la méthode getpages() de la classe JasperPrint.
Or un objet JasperPrint est crée par la compilation d'un objet Jasper.
Autrement dit, je ne peux utiliser cette méthode qu'après avoir compiler mon rapport dans le programme principal . Or voici la fonction que j'ai réalisé pour retourner le numéro de page au sein du rapport:
public void addnum(RangeFooterDescriptor descRang,JasperPrint print)
{
RectangleDescriptor descRect=new RectangleDescriptor(descRang.getRangeFooterXPosition()+5,descRang.getRangeFooterYPosition(),descRang.getRangeFooterWidth(),descRang.getRangeFooterHeigth());
rectangle=new DesignRectangle(descRect);
JRDesignTextField textField;
JRDesignExpression expression;
JRDesignStaticText statictextField;
statictextField= new JRDesignStaticText();
statictextField.setText("/ "+print.getPages().size());
….
….
…..
…..
Cette fonction, qui n'est pas définie au sein du programme principal fait appel à un objet jasperprint ==> Elle appelle un objet qui n'est pas instancié, et par conséquent, il y a un génération d'éxception lors de l'exécution.J'ai trouvé comment détourner ce problème mais ce n'est pas une solution intéressante.
Maintenant, je crois que mon problème est assez claire pour vous poser mes questions:
- Est ce que vous pouvez me donner votre avis sur ce probleme et une éventuelle idée pour solutionner ce problème?
Ou bien:
-Est ce que vous connaissez une autre manière de retourner le nombre de pages d'un rapport utilisant les API JasperReports?
Merci d'avance!
Partager