2010-01-20 7 views
0

J'ai un DataGrid éditable dans Flex, avec des données pleines de nombres. Les colonnes ont pas itemRenderer spécial, mais un labelFunction, qui retourne le nombre en l'état si elle est positive, mais elle met entre parenthèses si elle est négative, comme siDataGrid édite l'étiquette à la place des données

27.3 => "27.3" 
-27.3 => "(27.3)" 

Maintenant, ces cellules sont modifiables. Lorsque j'essaie d'éditer une cellule avec un nombre positif, rien ne va pas. Mais si j'essaie d'éditer un nombre négatif, il commence à éditer (27.3) au lieu d'éditer -27.3. Pour cette raison, lorsque la modification est effectuée, la propriété labelFunction est évaluée avec la nouvelle valeur entre parenthèses (c'est-à-dire, labelFunction est appelée avec "(30.5)") et la conversion en Number donne NaN. Donc, je veux savoir si je peux faire en sorte que le DataGrid édite les données dans le dataProvider au lieu de l'étiquette qu'il montre.

J'espère que je suis clair avec la condition. S'il vous plaît demander si vous avez besoin de clarification.

Merci.

Répondre

1

Est-ce ce que vous cherchez?

Example: Modifying data passed to or received from an item editor - De livedocs.adobe.com

(Vous pouvez toujours faire défiler vers le bas une fois la page se charge ... L'ancre ne semble pas fonctionner pour moi.)

+0

quelle partie ça veut dire ?, je ne trouve aucune mention de labelFunction. ** EDIT **: Désolé, en regardant maintenant :) –

+0

Donc, je devrais avoir un gestionnaire pour itemEditBegin, qui va changer la notation des parenthèses à la notation de nombre négatif normal ... Cette méthode se sent sujette aux erreurs. Est-ce que je manque quelque chose? –

+0

C'est ce que j'essaierais. Je pense que si vous effectuez une mise en forme personnalisée lorsque la valeur est liée à la cellule, vous devrez implémenter la fonction d'analyse correspondante pour permettre l'édition. – echo

Questions connexes