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

BIRT Discussion :

afficher les données d'une Boucle imbriquée


Sujet :

BIRT

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 12
    Points : 5
    Points
    5
    Par défaut afficher les données d'une Boucle imbriquée
    Bonjour,

    Je débute avec Birt et je veux afficher une liste de liste, en gros je veux faire une boucle imbriquée, pour l'instant j'arrive à affiche les données de la première boucle(dans le fetch) mais je ne sais pas comment afficher celles de la deuxième boucle.

    Merci d'avance

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Avril 2008
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 143
    Points : 1 353
    Points
    1 353
    Par défaut ???
    Pourqoi faire une boucle imbriquée sur des données dans un outil de restitution???

    Moi je ferais une proc stoc directement dans la base avec ces boucles qui me retourne directement ce que je vaux avoir dans mon rapport.

    Si c'est juste un Affichage des listes imbriquées, vous pouvez mettre un composant Liste dans un autre composant Liste avec un groupe. Ceci dit , c'est pas très bien pour les performances.

    Je suggère donc d'abord de mettre les données ensemble dans le même dataset via un bout de SQL intélligent , ensuite de grouper dans le tableau sur le champ qui va bien.

    Le SQL sera TOUJOURS plus rapide que BIRT pour ce genre de choses car executé dans le noyau de la base. A moins que vous ayez 2 sources de données différentes.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Bonjour
    j'ai besoin de faire une boucle imbriquée car pour créer mes rapport j'envoie à Birt une map<String,Object> et dans mon objet j'ai une liste de liste et d'autres données c'est ce qui m'oblige de faire une boucle imbriquée.
    Donc comment je peux faire ça?
    Merci

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Avril 2008
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 143
    Points : 1 353
    Points
    1 353
    Par défaut Scripted Dataset
    Un Scripted Dataset par exemple?

    Vous avez des exemples dans la FAQ et sur ce forum , merci à BiM

    Ceci dit , je ne comprends toujours pas très bien votre question, de plus vous ne mentionnez ni la version de BIRT , ni d'autres détails sur votre besoin.

    Merci donc de toujours préciser ces aspects si vous souhaitez une réponse pertinente, on est pas devins.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    Bonjour,
    je travaille avec Birt 2.5.0 et j'ai réorganisé mes données, actuellement j'envoie à Birt 2 listes et j'ai pu afficher chaque liste dans un tableau(liste1=>tableau1, liste2=>tableau2), mais le problème c'est que si la le nombre d'éléments de la liste1 et plus grand que celle de la liste2 il m'affiche des lignes dans le tableau2 vide et vice versa.
    Exemple:
    si la liste1 contient 2éléments et la liste2 a 4éléments il m'affiche dans le tableau1(celui de la liste1) deux ligne de plus vide car il exécute fetch 4 fois.

    voilà le code de fetch
    *********************
    if (pieceEnCours >= nbPiecesJustificatives && ligneEnCours >= nbLignePrestation)
    return false;

    if ( pieceEnCours < nbPiecesJustificatives)
    {
    lignePresta = pieceJustificative.get(pieceEnCours).getLignePrestation();
    row["pieceJustificative"] = pieceJustificative.get(pieceEnCours).getPieceJustificative().getNom()+ " "+dossier.getHelper().getPersonneByLignePrestation( lignePresta ).getHelper().getCurrentPersonneVersion().getNom();
    pieceEnCours++;
    }

    if (ligneEnCours < nbLignePrestation){
    lignePrestation = dossier.getListOfLignePrestation().get(ligneEnCours);
    row["dateSoin"] = lignePrestation.getDateSoins();
    ligneEnCours++;
    }
    return true;

    ***********************
    y'a-t-il une solution pour éviter l'affichage des lignes vides dans le tableau??

    Merci

  6. #6
    Membre expérimenté

    Profil pro
    Inscrit en
    Avril 2008
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 143
    Points : 1 353
    Points
    1 353
    Par défaut Oui
    Oui , un simple filtre sur le Dataset / Tableau en lui indiquant les champs que vous souhaitez ne pas etre nulls.

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    et comment je peux rajouter ce filtre ??
    Merci

  8. #8
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    Bonjour,

    Sélection de ton tableau > Properties > Filter > Add...

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 12
    Points : 5
    Points
    5
    Par défaut
    ok merci pour ton aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Afficher les données d'une BD
    Par gids01 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 23/02/2007, 16h55
  2. [MySQL] afficher les données d'une table
    Par scarecrow1 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 13/11/2006, 19h07
  3. [SQL] Afficher les données d'une requete SQL
    Par griese dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 22/06/2006, 12h22
  4. [VBA-E] afficher les données d'une datagrid dans des zones de textes
    Par fadwa dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 12/05/2006, 14h51
  5. [MySQL] Une liste déroulante affichant les données d'une requête SHOW par ordre alphabétique
    Par jack_1981 dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 22/12/2005, 16h53

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