IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

iReport Discussion :

Faire une boucle sur un liste dans jasper report


Sujet :

iReport

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 156
    Points : 57
    Points
    57
    Par défaut Faire une boucle sur un liste dans jasper report
    Bonjour,

    Je veux générer un document PDF à partir de ireport. Je crée mon document jrxml. Je crée à l'intérieur un une variable qui représente une liste de valeur.
    Comment faire une boucle sur cette liste dans mon rapport jrxml ?

    Merci.

  2. #2
    Membre averti

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2007
    Messages
    293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2007
    Messages : 293
    Points : 440
    Points
    440
    Par défaut
    Je ne pense pas qu'il y ait à l'intérieur de jasperreport des mécanismes de bouclage. En fait c'est la requête principale (celle du rapport) qui détermine le déroulement de ce qui se passe et le seul endroit où l'on boucle c'est la bande détail.
    Donc, selon moi, pour faire ce que tu veux faire, il faut que ta requête principale ramène comme enregistrements les items de ta liste de valeurs et à partir de çà tu peux faire ce que tu veux dans la bande détail : appeler des sous-rapports, mettre d'autres objets : crosstabs,....etc..
    J'ai fait çà par exemple pour des centres de loisirs pour lesquels j'avais un certain nombre d'infos à afficher. Ma requête principale va chercher les centres de loisirs valides et dans la zone détail j'affiche pour chaque centre ce qu'on me demande.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 156
    Points : 57
    Points
    57
    Par défaut
    Citation Envoyé par Gabriel.Entressangle Voir le message
    Je ne pense pas qu'il y ait à l'intérieur de jasperreport des mécanismes de bouclage. En fait c'est la requête principale (celle du rapport) qui détermine le déroulement de ce qui se passe et le seul endroit où l'on boucle c'est la bande détail.
    Donc, selon moi, pour faire ce que tu veux faire, il faut que ta requête principale ramène comme enregistrements les items de ta liste de valeurs et à partir de çà tu peux faire ce que tu veux dans la bande détail : appeler des sous-rapports, mettre d'autres objets : crosstabs,....etc..
    J'ai fait çà par exemple pour des centres de loisirs pour lesquels j'avais un certain nombre d'infos à afficher. Ma requête principale va chercher les centres de loisirs valides et dans la zone détail j'affiche pour chaque centre ce qu'on me demande.
    Merci pour ta réponse.
    Chez moi, je ramène une liste d'objet à partir d'une classe java. Je veux afficher ces valeurs dans un tableau que je construit dans iReport.
    Tu sais comment faire ça ?
    Merci encore.

  4. #4
    Membre averti

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2007
    Messages
    293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2007
    Messages : 293
    Points : 440
    Points
    440
    Par défaut
    Perso je connais bien SQL et pas trop java. Je parlais donc d'une requête SQL.
    Il me semble que dans jasper tu peux définir une source de type java beans ou quelquechose comme çà. Donc tu pourrais lire tes valeurs par ce moyen.
    Mais je ne peux t'aider sur ce point car en dehors de ce que je sais faire.

  5. #5
    Membre actif Avatar de Nicomart
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    205
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 205
    Points : 210
    Points
    210
    Par défaut
    je confirme la réponse de Gabriel. Tu peux jeter un œil ici pour la liaison IR/Java : http://www.developpez.net/forums/d96...ort-javabeans/.

    Sinon, en ce qui concerne ta question sur la boucle, IR va boucler lui-même sur ta collection d'objets, que tu devras déclarer en champs dans IR pour les utiliser dans la bande details. La bande est itérée autant de fois que tu as d'enregistrements. L'outil de recherche du forum et les tutos jasper devraient t'aider.

    Une fois la datasource paramétrée, tu utilises les attributs de tes objets comme les champs d'une table renvoyés par une requête.

Discussions similaires

  1. Faire une boucle sur des OptionButton d'une feuille dans une userform
    Par Marty57070 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 15/06/2015, 07h23
  2. [XSLT] Faire une boucle sur une variable [i]
    Par PoT_de_NuTeLLa dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 07/06/2010, 12h45
  3. [phpBB][2] Faire une boucle sur plusieurs colonnes
    Par Vinuto dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 28/09/2007, 10h45
  4. faire une boucle sur un select
    Par reski dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 13/03/2006, 19h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo