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 :

[BIRT Designer 3.7.0] Afficher les libellés d'un paramètre multivalué


Sujet :

BIRT

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2003
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 10
    Points : 11
    Points
    11
    Par défaut [BIRT Designer 3.7.0] Afficher les libellés d'un paramètre multivalué
    Bonjour,

    Après avoir fouillé toute la FAQ, le forum et autre, google..., je n'ai pas trouvé mon bonheur, j'ouvre donc ce sujet (même s'il a déjà était évoqué par le passé => ici .

    J'ai un rapport contenant des paramètres multivalués, je souhaite afficher les libellés des valeurs sélectionnées dans mon rapport.

    J'ai trouvé cet exemple sur birt-exchange ==> http://www.birt-exchange.org/org/dev...ext-in-report/)

    J'ai constaté que le rapport d'exemple fonctionne bien, mais lorsque j'essaye d'appliquer ce principe à mon rapport, ça ne fonctionne pas. Il semble que le code placé dans le "OnFetch" de mon dataset ne s'exécute pas.

    2 questions:
    - Connaissez-vous une autre méthode pour obtenir le résultat souhaité ?
    - Y a-t-il des problèmes connus sur le OnFetch d'un dataset ?

    Avez-vous quelque chose à me proposer ?

  2. #2
    Membre éclairé
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2009
    Messages
    529
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2009
    Messages : 529
    Points : 836
    Points
    836
    Par défaut
    Salut,

    tout d'abord, je suppose que tu l'as déjà fait mais on sait jamais, il ne faut pas oublier l'initialisation de la var globale dans le "initialize" du rapport.

    Pour le reste c'est un problème de dépendance entre le paramètre et son dataset. Ce n'est pas le onFetch qui n'est pas exécuté, c'est carrément le dataset: Ton dataset s'exécute une fois avant la sélection des paramètres (c'est à dire lorsque le paramètre multi n'est pas encore initialisé), et n'est ensuite plus invoqué dans le reste du rapport, le onFetch ne peut donc plus s'exécuter avec le paramètre initialisé.

    La solution rapide: drag & drop du dataset avant l'affichage du paramètre multi-valué dans ton rapport, puis visibility->hide. Cette table cachée forcera Birt à ré-ouvrir le dataset et donc à évaluer à nouveau le onFetch.

    La solution élégante: aucune idée, je ne sais pas comment l'auteur de l'exemple a fait pour que son dataset soit réévalué puisque il ne l'utilise apparemment plus dans son rapport. Je lui ai d'ailleurs posé la question, je posterai ici quand j'aurai la réponse.

    A+

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2003
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 10
    Points : 11
    Points
    11
    Par défaut
    D'abord merci pour ta réponse. J'ai essayé la solution "moche" et ça fonctionne...effectivement (j'ai désormais une idée plus claire du fonctionnement de l'évènement onFetch !).

    Pour le moment je vais me contenter de ça et puis on verra ce que nous dit l'auteur du rapport!

    C'est la seule solution que j'ai eu l'occasion de trouver sur le net.

    N'y a-t-il pas une solution qui consisterait à "requêter" via du code le dataset en question pour obtenir les libellés => Je n'ai pas trouvé la fonction qui permettrait de le faire.

    Ca donnerai un truc du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Pour tout les ID de mon paramètre
      ListeLibelles = ListeLibelles + dataSetParam.Valeur/data;
    Fin Pour
    En fait la question, c'est existe-t-il l'équivalent de l'objet recordset qu'on retrouve en VB / .NET et autre...? Si ça existe et que ca peut-être appeler depuis nimporte quel endroit du rapport alors on peut y arriver...

  4. #4
    Membre éclairé
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2009
    Messages
    529
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2009
    Messages : 529
    Points : 836
    Points
    836
    Par défaut
    Entre temps j'ai trouvé comment il a fait: il faut cliquer sur le "dynamic text" qui affiche les libellés du paramètre multi-valué, puis l'onglet "binding". Sélectionner le dataset correspondant et c'est ok: cela crée une dépendance et le dataset sera du coup à nouveau évalué juste avant l'affichage des libellés.
    Tu peux donc enlever cette vilaine table cachée et classer le tout en "résolu"

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2003
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 10
    Points : 11
    Points
    11
    Par défaut
    Effectivement ca marche Nickel ! Merci encore pour ton aide.

    Pour le coup la notion de Binding peut-être également intéressante à creuser...les pro de birt il ne faut pas hésite à ajouter ces petits sujets dans la FAQ

  6. #6
    Membre éclairé
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2009
    Messages
    529
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2009
    Messages : 529
    Points : 836
    Points
    836
    Par défaut
    Salut,

    l'auteur de l'exemple a répondu et confirme donc que c'est bien le binding qui résoud le problème, même si au final on ne lie notre texte dynamique à aucun champs. Cependant en intégrant cette fonctionnalité à certains de mes rapports je me suis aperçu que même si ça fonctionne bien, ça log des tonnes de messages d'erreurs . C'est cette ci fois dû à la première ouverture du dataset, qui utilise une variable qui n'est pas encore définie . Si tu repasses dans le coin je conseille donc pour résoudre ce souci de changer le code du onFetch ainsi, en reprenant l'exemple:

    changer ce onFetch:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if (custList.indexOf(row["CUSTOMERNUMBER"].toString()) != null){
    custList = custList.replace(row["CUSTOMERNUMBER"].toString(),row["CUSTOMERNAME"]);
    }
    en celui ci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if (typeof(custList ) != 'undefined') && custList.indexOf(row["CUSTOMERNUMBER"].toString()) != null){
    custList = custList.replace(row["CUSTOMERNUMBER"].toString(),row["CUSTOMERNAME"]);
    }

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2003
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 10
    Points : 11
    Points
    11
    Par défaut
    OK merci pour l'info je vais modifier le code.

    Par contre, tu les vois où les messages dans les logs ?...parce que moi je n'ai rien vu

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 30/11/2011, 22h31
  2. [ZF 1.11] $form->populate n'affiche pas les libellés avec caractères spéciaux
    Par schwarzy2 dans le forum Zend_Form
    Réponses: 4
    Dernier message: 30/08/2011, 11h10
  3. Impossible d'afficher les widgets GXT dans GWT Designer
    Par goeland444 dans le forum GWT et Vaadin
    Réponses: 1
    Dernier message: 06/04/2011, 17h58
  4. Réponses: 2
    Dernier message: 21/04/2009, 21h10
  5. Réponses: 2
    Dernier message: 17/01/2007, 08h58

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