2010-02-15 7 views
0

J'ai créé un ItemRenderer personnalisé qui étend UIComponent et implémente IListItemRenderer. Ce moteur de rendu contient un objet texte pour afficher la valeur.Flex 3 custom ItemRenderer et Editor Édition

Pour l'édition j'utilise le ItemEditor standard (TextInput).

Maintenant, quand je veux éditer une valeur, je clique sur une cellule et l'éditeur est créé. Mais au lieu d'afficher la valeur affichée dans le moteur de rendu, "[object Object]" est affiché.

Quelqu'un sait pourquoi et peut m'aider ici? Serait génial!

+1

Poster le code correspondant. Avez-vous spécifié 'editorDataField'? – Amarghosh

+0

Publier un code pertinent n'est pas si simple, car il est complètement générique et donc un peu plus volumineux. Mais j'ai réussi mon problème en écrivant mon propre éditeur et en affectant la valeur text à la propriété pertinente sur l'événement dataChange. – Thomas

Répondre

0

Il semble que le labelField de votre itemRenderer soit défini sur les données/l'objet lui-même plutôt que sur la propriété de l'objet. Assurez-vous que vous avez spécifié un labelField et que votre propriété TextArea#text est définie sur data.property au lieu de data. En effet,

var data:Object = new Object(); 
data.label = "Hello"; 
trace(data); // "[object Object]" 
trace(data.toString()); // "[object Object]" 
trace(data.label); // "Hello"; 

espoir qui aide, Lance