2010-07-15 13 views
2

J'utilise JasperReports et j'utilise la classe JRBeanCollectionDataSource fournie pour envelopper un List de haricots. Tout fonctionne correctement dans mes rapports lorsque j'accède à une simple propriété du bean, mais ce que je dois vraiment faire est d'accéder à quelques méthodes sur la classe. Par exemple, je voudrais accéder à la méthode:JasperReports accédant à la méthode sur la source de données de bean?

public List<Date> getCertifications(Date postedBy); 

Comment puis-je faire pour accéder à ce dans le JRXML (ou iReport)? Si je définis un champ tel que

<field name="certifications" class="java.util.List"/> 

alors j'obtiens une erreur que la propriété est inconnue.

Merci pour l'aide!

JasperReports: version 3.7.3

Répondre

0

À quelle date passera vous? Je pense qu'avec JRXML, vous ne pouvez définir que les propriétés du bean, c'est-à-dire celles qui ont un setter et un getter standard. Tout ce que vous pouvez invoquer à partir des expressions.

+0

La date est un paramètre du rapport. Cette partie que j'ai compris. Comment utiliser une expression pour accéder à l'objet actuel que le rapport utilise? c'est-à-dire comment j'appellerais getCertifications (new java.util.Date()) à partir d'un textFieldExpression si getCertifications (Date) est une méthode sur un PersonBean et la source de données du rapport est une collection de PersonBeans? Merci. –

+1

@Josh Je sais que c'est vieux, mais consultez la réponse http://stackoverflow.com/questions/6638569/jasper-report-how-to-call-a-java-bean-method-in-report-template pour obtenir le 'PersonBean'. –