2009-05-21 5 views
1

J'ai maintenant mon JasperReports à partir de mon JRBeancollectionDataSource dans mon code! Je suis juste un peu confus au sujet de certaines choses ...comprendre JasperReports et JRBeanCollectionDataSource

Lorsque je conçois des rapports dans iRepor t, je crée les champs à partir d'une requête, ce que je peux faire très bien et tout, depuis quand je cours réellement la requête I utilise un code JRBeanCollectionDataSource et est donc le hql dans le rapport totalement hors de propos à ce stade?

En outre, j'ai des collections Liste d'autres objets persistants dans ceux que je récupère pour le rapport et je veux un sous-rapport qui peut énumérer les éléments de la liste, mais je ne comprends pas comment les référencer iReport pour que ce soit logique quand je suis dans le code. Puis-je simplement me référer d'un champ à un autre? c'est-à-dire, un champ appelé propriétés et le sous-port référençant ce champ directement comme properties.value?

Répondre

0

Je ne l'ai pas fait JasperReports pendant un certain temps, mais pour les modèles avec JRDataSources vous n'utilisez pas hql sql dans les rapports et l'exemple est

http://jasperforge.org/uploads/publish/jasperreportswebsite/trunk/samples/DataSourceReport.jrxml

u passent dans la source de données à la partie de remplissage du exécution

+0

Alors, est-ce que je peux simplement déclarer les champs qui correspondent à l'une des propriétés des objets que je prévois de transmettre au moment du remplissage? J'utilise iReport pour concevoir les rapports. Et la plupart de mes objets ont des listes en eux. Comment puis-je les énumérer dans le rapport lui-même? – Joshua

1

Lorsque vous utilisez JRBeancollectionDataSource je préfère faire ce qui suit:

  1. Assurez-vous de mettre la classe de projet -path dans "Directives d'importation de rapports" dans iReport
  2. Lors de la création de la requête de rapport ou de la requête de sous-jeu de données. Ouvrez la boîte de dialogue Requête de rapport, choisissez l'onglet suivant "Source de données JavaBean" et notez le chemin d'accès complet du bean. Puis cliquez sur "Lire les attributs", il devrait lire tous les champs avec des getters.
  3. Choisissez les champs que vous souhaitez et cliquez sur Ajouter les champs sélectionnés.

Vous trouverez tous ceux que vous avez choisis comme $ F (fieldName) dans le rapport.