IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Jasper Discussion :

Utilisation de JasperReport et iReport


Sujet :

Jasper

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 7
    Points : 5
    Points
    5
    Par défaut Utilisation de JasperReport et iReport
    Bonjour à tous,

    Je dois developper un outil permettant d'effectuer le reporting d'une application java. J'ai donc vu sur divers site et forum que Jasper Report accompagné de son IHM iReport permettait de faire cela. Mais sur la plupart des exemples que j'ai trouvé les données sont recuperées à l'aide d'une base de données, hors, dans mon application il n'y a pas de base de donnée utilisée pet t'on integrer Jasper Report au projet sous eclipse et ensuite constuire le rapport avec iReport.
    J'espere m'etre expliquer assez clairement.

    Merci d'avance de vos reponses

  2. #2
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Bonjour,

    Si tu n'as pas de données à fournir, pourquoi veux tu utiliser jasperReport ?
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  3. #3
    Membre averti

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2007
    Messages
    293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2007
    Messages : 293
    Points : 440
    Points
    440
    Par défaut
    Même remarque que Fench.

    Je préciserais toutefois qu'il me semble qu'on peut définir un rapport sans base de données (DataSource=vide). Cà peut peut-être te servir

  4. #4
    Membre actif

    Inscrit en
    Avril 2007
    Messages
    194
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 194
    Points : 269
    Points
    269
    Par défaut
    Si je lis bien le post, Tidus indique qu'il n'a pas de base de données. Il ne mentionne pas qu'il n'a pas de données.
    Pour répondre à la question, il est effectivement possible de se connecter à des sources de données telles que des tableaux de beans ou autres sources plus exotiques. Pour ce faire, il faut implémenter l'interface JRDataSource qui contient deux méthodes et les passer au rapport lors du remplissage. (A noter que ledit rapport peut être développé sous iReport)
    Cordialement,

    *****************
    Christopher André
    Sales Engineer

    Voir mon profil

    Il est extrêmement rare que je réponde à un message privé.
    Contribuez à la FAQ Jasper Reports & iReport

  5. #5
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Bonjour à tous,

    @candre oui bien sûr il y a pleins de solutions

    Mais comme nous n'avons pas de réponses
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  6. #6
    Membre actif

    Inscrit en
    Avril 2007
    Messages
    194
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 194
    Points : 269
    Points
    269
    Par défaut
    Pour avoir une réponse, il faudrait qu'on en sache plus sur le projet: que cherche-t-on à obtenir? De quels outils disposons-nous?
    Personellement, je ne répondais qu'à la question posée telle que je la comprenais "Est-il possible d'utiliser JasperReports et iReport avec un projet sous Eclipse sans connection avec une base de données?".
    Pour des informations sur l'implémentation, j'aurai personellement besoin de plus d'informations sur le projet en question.
    Cordialement,

    *****************
    Christopher André
    Sales Engineer

    Voir mon profil

    Il est extrêmement rare que je réponde à un message privé.
    Contribuez à la FAQ Jasper Reports & iReport

  7. #7
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Tout ce que je sais, c'est que le post de tidus3030 était à la base sur le forum de java (général java) et qu'il a été déplacé par un modérateur.

    Normalement, il y a un message envoyé à l'auteur du post, ce dernier n'a pas du le lire !!!!

    Ou alors pas trouvé le petit forum de Jasper
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

  8. #8
    Membre à l'essai
    Inscrit en
    Mars 2007
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 53
    Points : 18
    Points
    18
    Par défaut
    Bonjour,

    Je suis dans le même cas que tidus3030. Tous les tutos que j'ai trouvé parlent de la même chose: connexion à une BD.
    Je voudrais récupérer des données à partir d'une jTable dont le model est un AbstractTableModel.
    Apparemment il y a JRTableModelDataSource, mais comment l'utiliser ? J'ai beau chercher, j'ai vraiment rien trouvé pour l'instant.
    Enfin si j'ai trouvé ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    import java.util.HashMap ;
    import javax.swing.table.TableModel ;
     
    import net.sf.jasperreports.engine.JRException;
    import net.sf.jasperreports.engine.JRField;
    import net.sf.jasperreports.engine.JRRewindableDataSource;
     
     
    /**
     * @author Teodor Danciu (teodord@users.sourceforge.net)
     * @version $Id: JRTableModelDataSource.java 1229 2006-04-19 13:27:35 +0300 (Wed, 19 Apr 2006) teodord $
     */
    public class JRTableModelDataSource implements JRRewindableDataSource
    {
     
     
        /**
         *
         */
        private TableModel  tableModel = null;
        private int index = -1;
        private HashMap  columnNames = new HashMap ();
     
     
        /**
         *
         */
        public JRTableModelDataSource(TableModel  model)
        {
            this.tableModel = model;
     
            if (this.tableModel != null)
            {
                for(int i = 0; i < tableModel.getColumnCount(); i++)
                {
                    this.columnNames.put(tableModel.getColumnName(i), new Integer (i));
                }
            }
        }
     
     
        /**
         *
         */
        public boolean next()
        {
            this.index++;
     
            if (this.tableModel != null)
            {
                return (this.index < this.tableModel.getRowCount());
            }
     
            return false;
        }
     
     
        /**
         *
         */
        public Object  getFieldValue(JRField jrField) throws JRException
        {
            String  fieldName = jrField.getName();
     
            Integer  columnIndex = (Integer )this.columnNames.get(fieldName);
     
            if (columnIndex != null)
            {
                return this.tableModel.getValueAt(index, columnIndex.intValue());
            }
            else if (fieldName.startsWith("COLUMN_"))
            {
                return this.tableModel.getValueAt(index, Integer.parseInt(fieldName.substring(7)));
            }
            else
            {
                throw new JRException("Unknown column name : " + fieldName);
            }
        }
     
     
        /**
         *
         */
        public void moveFirst()
        {
            this.index = -1;
        }
     
     
    }
    Et dans iReport quelle connexion choisir ? JRDataSourceProvider ?
    Avec connexion BD je me débrouille mais là je bloque.
    Quelques explications seraient les bienvenues.

    Merci d'avance.

  9. #9
    Membre à l'essai
    Inscrit en
    Mars 2007
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 53
    Points : 18
    Points
    18
    Par défaut
    Quelques petits progrès...

    J'ai compris +- le fonctionnement de la classe JRTableModelDataSource que j'ai postée ci-dessus ainsi que ses méthodes.

    J'ai donc fait une petite classe test.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public class TestJRTableModelDataSource
    {
        public static JRTableModelDataSource test()
        {
            CtrlBDCmb.openConnection();
            MyTableModelRelevePrestations myModel = new MyTableModelRelevePrestations();
            myModel.setMyList(CtrlRelevePrestations.selectRelevePrestations("%"));
            return new JRTableModelDataSource(myModel);
        }
     
    }
    Sur iReport, je crée une nouvelle datasource: CustomJRDataSource.

    Name: testDataSource
    Factory class: TestJRTableModelDataSource (le nom de ma classe test ci-dessus)
    Static method: test (méthode statique de ma classe test ci-dessus)

    Apparemment iReport voit ma classe TestJRTableModelDataSource puisque je n'ai plus l'exception ClassNotFoundError, mais il me génère une autre exception (General problem: null)

    Quelqu'un peut-il me dire de quoi il s'agit ?

  10. #10
    Membre à l'essai
    Inscrit en
    Mars 2007
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 53
    Points : 18
    Points
    18
    Par défaut
    Ok je pense qu'il faut d'abord créer ses fields, on y arrive petit à petit...

    Edit: Ok ça marche nickel ! Si quelqu'un a le même souci, càd récupérer les données d'une JTable dans un report, je suis là

  11. #11
    Rédacteur
    Avatar de JauB
    Homme Profil pro
    Freelancer
    Inscrit en
    Octobre 2005
    Messages
    1 792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Maroc

    Informations professionnelles :
    Activité : Freelancer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 792
    Points : 2 914
    Points
    2 914
    Par défaut
    Bonjour @youss20,
    Ta question peut faire l'objet d'une bonne Question/Réponse dans la FAQ Jasper/iReport ici.
    Merci
    Citation Envoyé par youss20 Voir le message
    Ok je pense qu'il faut d'abord créer ses fields, on y arrive petit à petit...

    Edit: Ok ça marche nickel ! Si quelqu'un a le même souci, càd récupérer les données d'une JTable dans un report, je suis là
    Mes articles, Mon Blog

    Rubrique Jasper/iReport :
    ------- Forum Jasper --------
    ----- FAQ Jasper/iReport -----


  12. #12
    Membre régulier
    Inscrit en
    Avril 2010
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 27
    Points : 82
    Points
    82
    Par défaut Même problème
    Bonjour,
    j'ai bien suivi les étapes décrites précédemment, mais quand je teste la connexion avec la classe j'obtiens l'erreur General Problem null.
    Remarque: si je change le nom de classe, l'erreur devient ClassNotFoundException, aussi si je change le nom de la méthode static j'obtiens une erreur qui m'indique que le nom de la méthode est incorrecte, cela confirme que iReport connait bien ma classe, alors où est l'erreur.

    Merci d'avance

  13. #13
    Membre régulier
    Inscrit en
    Avril 2010
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 27
    Points : 82
    Points
    82
    Par défaut problème résolu
    j'ai réglé mon problème, en fait ma méthod n'était pas static.
    Mais mon problème maintenant que je fais des modifications sur ma classe de test, et à chaque fois je me suis obligé de redémarrer iReport pour qu'il puisse voir les nouvelles données chargées dans la liste.

    Merci d'avance

Discussions similaires

  1. Installer Jasperreport et ireport?
    Par Doberman dans le forum Jasper
    Réponses: 22
    Dernier message: 26/09/2010, 11h37
  2. Réponses: 0
    Dernier message: 07/12/2007, 17h21
  3. Utilisation de JasperReport depuis une application PHP
    Par Florent Coulon dans le forum Jasper
    Réponses: 1
    Dernier message: 30/08/2007, 19h55
  4. Réponses: 4
    Dernier message: 30/04/2007, 15h32
  5. [Java] Utilisation de JasperReport / iReport
    Par LeNeutrino dans le forum iReport
    Réponses: 5
    Dernier message: 03/10/2005, 17h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo