2017-02-10 1 views
0

Je récupérer des données à partir d'une source de données comme ceci:Définir la valeur différente et l'étiquette OverDrive composant sur Pentaho CDE

VALUE | LABEL 
-------+----------- 
'ES' | 'Spain' 
'IT' | 'Italy' 
'FR' | 'France' 
    ... | ... 

Je veux que mon composant Vérifiez pour afficher les valeurs sur l'étiquette colonne, mais les valeurs d'utilisation sur la colonne valeur à la place comme propre valeur du paramètre du composant, donc si un utilisateur sélectionne «Espagne», mon countries paramètre ajoute 'ES' à la liste des pays. Il doit finir par être quelque chose comme ceci:

<input ... value="ES"> 
<label ...>Spain</label> 

Jusqu'à présent, je sais que si je donne une liste statique sur la propriété Values array pour le composant, cela fonctionnera . Mais je n'arrive pas à comprendre comment réaliser la même chose via ma source de données dynamique.

S'il vous plaît ne pas suggérer de le pirater après le rendu avec un peu de jQuery ou similaire, je veux savoir si Pentaho CDE fournit un moyen de le faire correctement.

Mise à jour: Fournir une liste statique ne fonctionnera pas. Peu importe ce que vous mettez sur les colonnes Arg et Value, seul le Value sera utilisé. Mais j'ai découvert pourquoi, et j'ai écrit la réponse :)

Répondre

0

J'ai trouvé la réponse, juste au cas où quelqu'un tomberait dans la même erreur stupide. Il existe une option pour le composant, appelée Value as Id. Lorsqu'il est défini comme false, à condition qu'il y ait deux colonnes sur la source de données pour ce composant, la première colonne sera utilisée comme value pour l'entrée de case à cocher et la deuxième colonne sera utilisée comme texte pour l'élément label. Donc, mon jeu de données d'origine a fonctionné quand j'ai réglé Value as Id sur false.