Je crée une application Dashcode qui affiche les produits qui ont remporté un ou plusieurs prix.Dashcode - amusant avec Value Transformers
La source de données comporte une colonne/un champ pour chaque récompense que le produit peut gagner (les produits peuvent remporter plusieurs récompenses). La colonne a 'Y' s'ils ont gagné ce prix et est nulle s'ils ne l'ont pas. Donc, je lie la colonne de la source de données à un objet image, puis j'utilise un Value Transformer pour définir le src correct pour l'image s'ils ont gagné le prix. Cela fonctionne très bien et très peu de code est requis. Juste quelque chose comme ceci:
myHasGoldAward = Class.create(DC.ValueTransformer,{
transformedValue: function(value){
if (value == 'Y') {
value = "Images/GoldAward.png";
}
return value;
}
La ride est que la colonne je liant seulement indique s'ils ont gagné un certain niveau prix (c.-à-Or, Argent, Bronze.), Mais il y a une autre colonne qui indique le type du produit (livre, jouet, audio, vidéo). Le logo du prix est différent pour chacun des différents types de produits. Le prix du livre d'or est différent du prix du jouet d'or.
Je dois être en mesure d'accéder à l'autre colonne depuis mon Value Transformer afin de pouvoir définir la bonne image pour le Prix. Est-ce que quelqu'un connaît la syntaxe pour accéder à une autre colonne dans une source de données à l'intérieur d'un transformateur de valeur?
Merci!
Je n'ai jamais essayé cela, mais que se passe-t-il lorsque vous connectez deux éléments de votre source de données à votre objet? Je sais que c'est possible et probablement la réponse est plus proche de la réponse que vous cherchez;) – nacho4d
Vous pourriez être sur quelque chose, mais ce n'est pas joli. Si vous définissez deux sources de données différentes, le transformateur de valeur est appelé deux fois. Vous pouvez définir une variable globale pour lastAwardLevel, puis définir le graphique en fonction de ce global sur la deuxième passe. Il est difficile de croire qu'il n'y a pas de meilleur moyen. Même ainsi, je vais essayer cela maintenant. – tonyopp
Salut tonyopp ...... Avez-vous trouvé une réponse? Déchirer mes cheveux en ce moment. J'ai l'impression que cela a à voir avec dashcode.getDataSource ('dataSource') et valueForKey dans la fonction valueTransformer mais ne peut pas tout à fait comprendre sans aucune documentation. – MikeyB