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 :

Récuperer le "displayed text" d'un paramètre


Sujet :

BIRT

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 19
    Par défaut [2.2][Script] Récuperer les "displayed text" d'un paramètre à sélection Multiple
    Bonjour,

    J'ai un rapport qui prend un paramètre en entrée, jusqu'ici rien de grave ;-)

    Ce paramètre a une valeur qui est un code et affiche un text qui est le libellé associé à ce code, par example :

    Code 75001, libellé : "Paris 1er ard"

    J'utilise le code pour filtrer mon data set. Et j'aimerais afficher le text dans mon rapport pour rappeler la valeur des paramètres choisis. Le tout sachant que c'est un paramètre à valeur multiple.

    En utilisant le morceau de code javascript suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    params["monParam"].value[0]
    J'obtiens la valeur du premier élément sélectionné (75001), comment faire pour récupérer le text associé à cet élément (Paris 1er ard) ?

  2. #2
    Membre confirmé Avatar de GAEREL
    Homme Profil pro
    Inscrit en
    Février 2005
    Messages
    160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 160
    Par défaut
    Essayes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    params["monParam"].displayText[0]

  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


    On en a parlé toute la journée de ce fameux texte : http://www.developpez.net/forums/sho...d.php?t=571718

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 19
    Par défaut
    Méa culpa, méa maxima culpa !

    Merci beaucoup !

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 19
    Par défaut
    Désolé j'ai été un peu hatif ... ça marche avec un paramètre ayant une sélection unique mais pas avec un paramètre à sélection multiple ...

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 19
    Par défaut
    J'ai creusé un peu le problème et voici les options que j'ai testé, sachant qu'avec un paramètre à selection unique l'appel suivant marche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    params["mon_param"].displayText
    Donc en transposant en valeur multiple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var tmp = "";
    for (var i = 0; i < params["mon_param"].value.length; i++) {
    	tmp += params["mon_param"].displayText[i];
    }
    tmp;
    Ne renvoi rien.

    L'appel suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var tmp = "";
    for (var i = 0; i < params["mon_param"].value.length; i++) {
    	tmp += params["mon_param"].value[i].displayText;
    }
    tmp;
    Renvoi undefined.


    J'ai testé en version 2.2 mais aussi en version 2.3.
    Bref, est-ce qu'il y a un autre moyen d'accèder aux propriétés d'un paramètre à valeur multiple ?

    Merci pour votre temps et votre aide.

  7. #7
    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
    Es-tu seulement sûr qu'il y a quelquechose dans ton display text ?

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 19
    Par défaut
    Tout me porte à le croire,

    Pour configurer mon paramètre je me base sur une table qui indique

    Code Libellé


    J'ai configuré mon paramètre pour qu'il prenne comme valeur le code et affiche le libellé.

    Select Value Column : Code
    Select display text : Libellé

    Et j'utilise les codes sélectionnés pour pour filtrer ma requète SQL en utilisant une clause IN, ma requête SQL ressemble à ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Select 
    CODE,
    Valeur1,
    Valeur2
    From MATABLE
    where
    CODE IN ('#CODE#')
    group by
    CODE
    Et j'utilise le code javascript suivant pour remplacer le #CODE# par la sélection des paramètres dans la requête SQL :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    if (params["mon_param"].value != null && params["mon_param"].value.length > 0) {
    	var tmp="";
    	var last = params["mon_param"].value.length - 1;
    	for (var i = 0; i < last; i++) {
    		value = params["mon_param"].value[i];
    		tmp += value + "', '";
    	}
    	value = params["mon_param"].value[last];
    	tmp += value;
    	this.queryText = this.queryText.replace("#CODE#", tmp);
    }

    Et tout ça marche nickel, l'interface me proposant de sélectionner mes paramètres m'affiche bien les libellés et le filtre s'effectue bien sur les codes.

    Tout ça marche mais je n'arrive pas a recupérer le displayText d'un paramètre multiple.

    C'est balo !

Discussions similaires

  1. [vbnet 1.1]Inserer deux simple quote sans texte dans une db
    Par ChristopheOce dans le forum Windows Forms
    Réponses: 8
    Dernier message: 15/03/2007, 08h51

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