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 :

[2.2.2][script dataset] Affichage d'enregistrements concaténés


Sujet :

BIRT

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    385
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 385
    Par défaut [2.2.2][script dataset] Affichage d'enregistrements concaténés
    Bonjour à tous,

    je souhaite afficher une liste d'auteurs dans le pied de page de mes rapports. Ces auteurs sont stockés en base de données de la manière suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AUT_COD | AUT_NOM | AUT_PRENOM | ...
    Je voudrais afficher les auteurs de la manière suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Auteurs : P. NOM, P. NOM, P. NOM, ...
    C'est à dire que je souhaite afficher la première lettre du prénom (en prenant en compte les prénoms composés : j-p pour Jean-Pierre) suivi du nom de famille de l'auteur.

    J'ai crée une source de données me permettant de créer des jeux de données à partir des tables de ma base de données. Je souhaiterais utiliser cette source de données afin de créer le jeu de données suivant ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM AUTEURS WHERE [mes critères]
    pour récupérer les auteurs du document. Comment puis-je à partir de ce jeu de données concaténer l'ensemble des auteurs sachant que je dois les afficher dans le pied de page d'un Master Page, ce qui signifie que je ne peux pas utiliser de composant "List" par exemple.

    Avez-vous une quelconque idée sur la méthode à mettre en œuvre pour réaliser ceci ?

    D'avance merci.

    Erwan

  2. #2
    Membre Expert

    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
    Par défaut Calculated column
    Dans ton dataset tu peux définir une colonne calculée. Il te suffit de définir une colonne disons CONCAT et d'y rajouter une formule. Note : ceci fait travailler BIRT.

    Sinon tu peux faire la même chose dans le SQL ( Note ceci fait bosser la Base )

    Screenshot joint.

    Ensuite tu peux utiliser un composant Texte dans la Master Page. Tu choisis ensuite Dynamic Text dans la liste déroulante et tu mets les données de la colonne calculée de ton DataSet.

    Voici un exemple de code : <VALUE-OF>row["CONCAT"]</VALUE-OF>
    Images attachées Images attachées  

  3. #3
    BiM
    BiM est déconnecté
    Expert confirmé
    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 : 39
    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
    Par défaut
    Bonjour,

    cucubau > Je crois que la question correspond plutôt à ce sujet récemment ouvert : http://www.developpez.net/forums/sho...d.php?t=543982

    Pour reprendre l'exemple d'erwan, tu as un document et tu veux lister les auteurs de ce document de cette manière : "Auteur 1, Auteur 2, etc."

  4. #4
    Membre Expert

    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
    Par défaut ?
    Sur cet exemple là il s'agit d'un groupe et du souhait de rajouter un Table horizontal ( ce qui n'existe pas dans BIRT pour l'instant )

    Sur celui-ci , il s'agit d'afficher des choses dans le Master Page si j'ai bien compris.

    je ne vois pas trop le lien.? :-)

    Ceci dit pour l'autre besoin , il suffit de reprendre les données et faire un cycle ( dans le SQL ou dans le Javascript sur le OnFetch du DataSet ) afin de stocker le tout dans un gros String :-)

    Inclure le caractere de fin de ligne pour faire des lignes successives si ça vous chante , les composants Texte et Dynamic Texte de BIRT sont "flexibles"

    En gros un truc du genre ( pseudocode ) :

    string = string + " , " + row[nom] + " " + row[prenom]

    Comme OnFetch est au niveau génération de chaque ligne , BIRT fera l'itération

    Ca va donner la saucisse String requise :-)

  5. #5
    Membre éclairé

    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    385
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 385
    Par défaut
    Merci à cucubau123 et à BiM.

    Voici comment j'ai procédé :

    Dans le beforeOpen de mon dataset :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    // Initialisation des variables
    NB_AUTEURS = 0;
    AUTEURS    = "";
    Dans le onFetch de mon dataset :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if(NB_AUTEURS > 0) AUTEURS = AUTEURS + ", ";
    AUTEURS = AUTEURS + row["PRENOM"] + " " + row["NOM"];
    NB_AUTEURS++;
    Puis dans le pied de page de mon Master Page, j'ai ajouté un composant Texte dont voici le contenu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <B>Auteurs :</B> <VALUE-OF>AUTEURS</VALUE-OF>

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

Discussions similaires

  1. Affichage suivant enregistrement précédent
    Par cdumas dans le forum Access
    Réponses: 8
    Dernier message: 30/04/2006, 13h11
  2. [MySQL] Problème d'affichage d'enregistrement dans un champs
    Par mosca_coroneja dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 06/04/2006, 11h19
  3. Réponses: 8
    Dernier message: 28/03/2006, 16h52
  4. []Problème d'affichage des enregistrements dans un DataReport
    Par GeniuZ dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 05/01/2005, 16h52
  5. Réponses: 3
    Dernier message: 29/12/2003, 13h47

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