Ajouter un commentaire

nasix
ça marche dans IReport Designer mais pas dans mon code

Bonjour,

Je souhaite créer un template via IReport Designer pour éditer les factures en PDF (une facture par page). J'utilise pour ce faire une datasource de type JavaBeans set Datasource.

Dans mes factures, je dois afficher les éléments ordinaire des factures (date, client, référence, ...) et une liste d'élément (que je nomme "examens", les examens sont les services que je facture). Pour afficher ces éléments dans le template j'utilise le composant List (de la librairie IReport) avec une dataset interne (ou imbriquée - nestaed Dataset), voici un aperçu de ma classe (JavaBean) Facture:

public class FactureTemplateBean {

private String nomPatient, codePatient, dateFacturation, prescripteur, payeur, medecin, referenceDemande, referenceFacture, montantLetter; private float totalAPaye;

private int coefP;

private JRBeanCollectionDataSource examens;

...

}

Comme vous pouvez le remarquer, examens est une JR Collection, composée d'objets de la classe ExamenBean, dont voici un aperçu:

public class ExamenBean {
private String code, nom;
...
}

Dans mon template, le dataset interne est bien configuré, et son expression est fixée à la valeur $F{examens}. Le mode Preview donne de bons résultats (le bon fichier PDF).

Le problème se pose quand je souhaite exploiter mon template dans un code JAVA:

List<FactureTemplateBean> liste = new ArrayList<FactureTemplateBean>();

liste.add(...);

liste.add(...);

....

JasperDesign jasperDesign = JRXmlLoader.load(templateName);

JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);

JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, new JRBeanCollectionDataSource(liste));

return JasperExportManager.exportReportToPdf(jasperPrint);

Quand j'exécute mon code, j'ai une exception m'informant que l'attribut "nom" (propriété de la classe ExamenBean) est inconnu:

net.sf.jasperreports.engine.JRRuntimeException: net.sf.jasperreports.engine.JRException: Error retrieving field value from bean : nom

.......

Caused by: java.lang.NoSuchMethodException: Unknown property 'nom'

Une fois que je supprime le composant List et le dataset interne, mon programme tourne sans problème.

Aurriez vous svp des suggestions pour moi.

Merci d'avance.

Filtered HTML

Plain text

CAPTCHA
Cette question permet de vérifier que vous n'êtes pas un robot spammeur :-)
 PPPP   W     W  X   X  III  U   U 
P P W W X X I U U
PPPP W W W X I U U
P W W W X X I U U
P W W X X III UUU