Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > Jasper
Jasper Forum d'entraide sur Jasper Reports. Avant de poster --> FAQ Jasper, Tutoriels Jasper
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/07/2007, 18h45   #1
Candidat au titre de Membre du Club
 
Inscription : décembre 2005
Messages : 33
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 33
Points : 14
Points : 14
Par défaut ireport et jasperreport et source de donnée personnalisée

Bonjour

J'aimerais utiliser ireport et jasperreport et avoir un source de données personnalisée. J'ai vu que l'on pouvais utiliser des javaBeans. On doit donc pouvoir passer une collection d'objet à iReport. Je ne trouve aucun exemple sur ce sujet.

Merci pour votre aide
laurentapologic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/07/2007, 15h25   #2
Membre Expert
 
Avatar de lazarel
 
Homme
Consultant informatique
Inscription : mai 2007
Messages : 893
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 30
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Consultant informatique
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : mai 2007
Messages : 893
Points : 1 360
Points : 1 360
Bonjour,


BIRT le fait aussi et il y a un tuto super sur le sujet. Les deux ne doivent pas trop être différents, je pense que ça peut être une bonne piste pour toi.


Cordialement Lazarel
lazarel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2007, 15h06   #3
Candidat au titre de Membre du Club
 
Inscription : décembre 2005
Messages : 33
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 33
Points : 14
Points : 14
Voila ci-dessous une classe qui transforme une liste d'objet en JRDatasource

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
 
import java.util.List;
import net.sf.jasperreports.engine.JRDataSource;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRField;
 
 
public class FactureDataSource implements JRDataSource
{
 
    private Object[][] data;
    private int index = -1;
 
    public FactureDataSource(List<FactureBean> lstFacture)
    {
        if(lstFacture!=null && lstFacture.size()>0)
        {
            data = new Object[lstFacture.size()][5];
            int cpt = 0;
            for(FactureBean fac : lstFacture)
            {
                data[cpt][0] = fac.getId();
                data[cpt][1] = fac.getDateFac();
                data[cpt][2] = fac.getDateReg();
                data[cpt][3] = fac.getTypeReg();
                data[cpt][4] = fac.getDateLiv();
                cpt++;
            }
        }
 
    }
 
    public boolean next() throws JRException
	{
		index++;
 
		return (index < data.length);
	}
 
 
	/**
	 *
	 */
    public Object getFieldValue(JRField field) throws JRException
    {
            Object value = null;
 
            String fieldName = field.getName();
 
            if ("id".equals(fieldName))
            {
                    value = data[index][0];
            }
            else if ("dateFac".equals(fieldName))
            {
                    value = data[index][1];
            }
            else if ("dateReg".equals(fieldName))
            {
                    value = data[index][2];
            }
            else if ("typeReg".equals(fieldName))
            {
                    value = data[index][3];
            }
            else if ("dateLiv".equals(fieldName))
            {
                    value = data[index][4];
            }
 
            return value;
    }
}
Ensuite on passe le JRdatasource au rapport
Code :
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, params,  new FactureDataSource(lstFacture));
Dans ireport, on créé les Fields correspondant : id,dateFac,dateReg,typeReg,dateLiv

Je ne sais pas si c'est la meilleur solution, je suis preneur d'autre chose.
laurentapologic est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h24.


 
 
 
 
Partenaires

Hébergement Web