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 :

deux sous rapports dans rapport principal


Sujet :

iReport

  1. #1
    Candidat au Club
    Inscrit en
    Janvier 2009
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 12
    Points : 4
    Points
    4
    Par défaut deux sous rapports dans rapport principal
    Bonjour,

    J’ai crée deux sous rapports dans mon rapport principal ;
    J’utilise comme source de données un fichier XML ; dans la définition de mon rapport comme mes deux sous rapports j’utilise cette source de données via XPath ;

    J’observe que le premier de mes sous rapports est affiché dans le fichier résultat PDF; en inversant l’ordre de mes deux sous rapports dans le rapport principal, c’est l’autre sous rapport qui se voit affiché dans le fichier PDF.
    Je n’arrive pas à avoir comme résultat l’affichage des deux sous rapports (et de leur données) ; de plus, dans le rapport principal, après l’appel des deux sous rapports, j’utilise un tableau croisé mais les données sont toujours zéro.

    J’ai l’impression que la lecture du fichier de données est terminée suite à l’utilisation du premier sous rapport et donc il n’y a plus aucune donnée pour renseigner le deuxième sous rapport et ensuite le tableau croisé.

    Comment faire ?

    Merci d'avance.

  2. #2
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Salut,

    Je ne crois pas que tu puisses mettre deux sous rapports dans un rapport maître ... par contre dans le premier sous rapport, tu y inclues le deuxième, cela ne change rien à ta présentation non ?

  3. #3
    Candidat au Club
    Inscrit en
    Janvier 2009
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 12
    Points : 4
    Points
    4
    Par défaut
    Bonjour Fench,

    Mes deux sous rapports se ressemblent assez et c'est pourquoi j'ai mis en place ce découpage des affichages; mais le plus important est que ces deux sous rapports se trouvent dans deux groupes Header séparés.

    Ensuite il y a mon tableau croisé qui se retrouve non rempli avec toutes les valeurs à zéro; si j'enlève les deux sous rapports, celui-ci est bien rempli.

    Il doit y avoir une solution; j'imagine qu'il faille replacer le curseur de lecture du fichier de données XML à son début, un peu comme pour les recordset. Et une solution serait peut-être de modifier le XPath.

    Qu'en penses-tu ?

  4. #4
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Salut,

    Dans deux group différents, c'est ok pour les sous rapports.

    Pour ton tableau,
    Il doit y avoir une solution; j'imagine qu'il faille replacer le curseur de lecture du fichier de données XML à son début, un peu comme pour les recordset. Et une solution serait peut-être de modifier le XPath.
    Il faudra utiliser une fonction alors (via servlet) qui reprendra ta source de données au début ... pour l'instant je vois pas autre chose.

  5. #5
    Candidat au Club
    Inscrit en
    Janvier 2009
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 12
    Points : 4
    Points
    4
    Par défaut
    Bonjour Fench,

    J’ai beau faire, je n’arrive pas à voir mes deux sous rapports en même temps lors de l’exécution du rapport principal.

    Utiliser une fonction via une servlet, tu veux dire scriptlet iReport ? Comment reprendre la source de données au début par cette méthode, peux-tu me donner un exemple ?

    Merci d’avance

  6. #6
    Membre régulier

    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2008
    Messages : 54
    Points : 75
    Points
    75
    Par défaut
    Si si Fench, tu peux tout à fait mettre 2 (ou plus) sous-rapports dans un rapport maitre.
    Par contre, pourquoi mettre les SR dans un header, mets-les dans la zone détail, tu afficheras toujours le premier puis le deuxième...
    Dans ce cas, si cela ne marche toujours pas (affichage de l'un mais pas de l'autre) vois du côté de ton xPath et des propriétés de chaque sous-rapport.

    J'espère que cela solutionnera ton problème.

    Bonne continuation...

  7. #7
    Candidat au Club
    Inscrit en
    Janvier 2009
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 12
    Points : 4
    Points
    4
    Par défaut
    Merci pour vos réponses,

    J'ai essayé de mettre les deux sous rapports dans la bande détail mais c’est pareil ; l’explication est que la lecture du fichier de données XML est terminée ; d’ailleurs mon tableau croisé qui apparaît dans la bande Summary n’est pas renseigné et comporte des valeurs nulles !
    - Est-ce que la solution est de passer par un scriptlet et si oui comment faire ?
    - Ou alors de modifier mon XPath mais comment faire, sachant que les deux sous rapports ainsi que mon tableau croisé font appel aux même noeuds de ce fichier XML ?
    - Je vois encore la possibilité de créer un sous-ensemble de données ; il est demandé une classe de scriptlet, comment faire plus précisément ?

    Si quelqu’un a la réponse à une de mes questions, merci d’avance...

  8. #8
    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 confirme la réponse de Pieck : on peut mettre plusieurs sous-reports dans un report. J'ai un espèce de dashboard qui contient 6 ou 7 sous-rapports avec chacun leur requête et tout s'affiche sans problème.

  9. #9
    Membre régulier

    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2008
    Messages : 54
    Points : 75
    Points
    75
    Par défaut
    Essaye de définir dans les propriétés de rapports, "utiliser l'expression de source de données" et d'utiliser
    ((net.sf.jasperreports.engine.data.JRXmlDataSource)($P{REPORT_DATA_SOURCE})).subDataSource("noeud_précédent/noeud_utilisé"), et ce pour chaque sous-rapport. Dans ton rapport maitre, il faudra que soit définie la structure de ton flux jusqu'à "noeud_précédent".
    Logiquement, tes deux rapports devraient se remplir (même s'ils utilisent le même noeud)
    Bonne continuation

  10. #10
    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
    J'ai eu le même problème sous ireport 3.5 : le second sous-rapport ne s'affichait jamais. Je me suis rendu compte qu'il semble y avoir un bug (ou une fonctionnalité inattendue, c'est selon...) quand les sous-rapports sont en position float, et que la case Stretch when overflow est cochée.

    Décocher cette case ne désactivera pas le stretch des sous-rapports (ce sont les éléments internes qui sont étirés, et qui donc provoquent l'étirement du sous-rapport). Par contre, le second sous-rapport sera bien affiché.

    En espérant t'avoir dépanné

Discussions similaires

  1. [VxiR2] Notions Dans, Dans Rapport, Dans Corps etc
    Par ctobini dans le forum Deski
    Réponses: 4
    Dernier message: 01/10/2010, 15h52
  2. utiliser deux sous requêtes dans un select
    Par V i n c e n t dans le forum Langage SQL
    Réponses: 2
    Dernier message: 13/08/2010, 16h30
  3. Lier deux sous formulaire dans un formulaire
    Par Ormani dans le forum IHM
    Réponses: 11
    Dernier message: 02/07/2007, 11h21
  4. sous formulaire dans un principal via bouton
    Par tomas dans le forum IHM
    Réponses: 1
    Dernier message: 23/01/2007, 14h59
  5. Deux sous formulaires dans Formulaire: Maj des données
    Par capitaine dans le forum Access
    Réponses: 4
    Dernier message: 24/05/2006, 12h09

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