2010-03-25 14 views
1

Je suis ayant un rapport de jaspe. À l'intérieur du rapport principal j'ajoute un sous rapport. Je passe des collections et des paramètres utilisant la classe de java (n'utilisant pas la question de sql directement) .Il est compilation avec succès. Mais en cours d'exécution, il affiche uniquement le rapport principal. Il ne montre pas le sous-rapport. Et il ne fait aucune erreur. C'est juste donner un espace vide pour cet endroit. Quelqu'un peut-il me dire comment résoudre ce problème? Quelles sont toutes les règles que je dois suivre lors de l'ajout de sous-état dans jasper?Jasper Sous rapports ne montrant pas dans le rapport principal

+1

Désolé, votre question est trop large. Allez, lisez quelques articles, il y a un livre sur JasperReports et une fois confronté à un problème concret, revenez. –

Répondre

0

En supposant que vous transmettez les données au rapport en tant que collection Java Beans, je suppose que vous avez un champ java.util.List qui sera utilisé pour alimenter le sous-rapport.

Votre haricot d'origine sera quelque chose comme:

public class ParentBean{ 
    int id; 
    String fatherName; 
    List<ChildBean> childrenList; 

    //setters and getters goes here 
} 

Lorsque vous appelez le rapport principal, vous devez ajouter trois champs, le dernier d'entre eux est de type List.

Sélectionnez le sous-état, ouvrez le dialogue Propriétés, dans Connexion/données Expression source, choisissez Utiliser l'expression de source de données mettre:

new JRBeanCollectionDataSource($F{childrenList}) 

Dans votre sous-état, utilisez les champs dans le ChildBean. REMARQUE: Les noms des dialogues proviennent d'une ancienne version d'iReport, ils peuvent être modifiés maintenant.

0

Mais avez-vous prévisualisé le sous-rapport? Peut-être il y aura des erreurs ou rien remplir le rapport sous individuellement ...

0

DataSet 1.Créez 2. Créer un objet de liste 3.Carte champ avec paramètre et connexion dans Objet liste.