2 votes

ArrayCollection non mis à jour par ItemRenderer (CheckBox) dans Flex

J'ai des problèmes pour mettre à jour mon ArrayCollection qui remplit initialement ma grille de données. Dans mon cas, le fournisseur de données est constitué de True y False en tant que chaîne de caractères. Ils proviennent de ma base de données. Je règle le dataProvider de ma grille de données sur ArrayCollection et je rends le champ dans une case à cocher de la grille de données. La case à cocher est correctement cochée à l'affichage. Mais si je coche/décoche à nouveau la case et que j'essaie de jeter un coup d'œil à l'ArrayCollection, je remarque que l'ArrayCollection reste inchangée. J'obtiens toujours les anciennes valeurs.

Quelqu'un peut-il m'indiquer ce qu'il manque dans mon code ? Voici le code de ma grille de données.

<mx:DataGrid id="myDataGrid" dataProvider="myArrayCollection" fontSize="9" enabled="true" x="20" y="20" width="217" height="60">
    <mx:columns>
        <mx:DataGridColumn rendererIsEditor="true" editorDataField="selected" width="20" headerText="MyField" dataField="MY_FIELD">
            <mx:itemRenderer>
                <fx:Component>
                    <mx:HBox horizontalAlign="left">
                        <s:CheckBox selected="{data.MY_FIELD == 'false' ? false : true}" horizontalCenter="0"/>
                    </mx:HBox>
                </fx:Component>
            </mx:itemRenderer>
        </mx:DataGridColumn>
    </mx:columns>
</mx:DataGrid>

1voto

sean Points 2340

Essayez de remplacer votre CheckBox par ceci :

<s:CheckBox selected="{data.MY_FIELD == 'false' ? false : true}" change="data.MY_FIELD = !data_MY_FIELD" horizontalCenter="0"/>

La valeur doit être inversée chaque fois que l'utilisateur modifie l'état de la case à cocher.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X