J'ai un problème avec une case à cocher dans mon DataGrid. Il tire dans un fournisseur de données (fichier xml) et je l'utilise pour définir la sélection de case à cocher avec un itemrenderer personnalisé. Ensuite, je sauvegarde la grille de données, une fois mise à jour, dans le fichier xml. La case à cocher, lorsque vous cliquez dessus, enregistre dans le fichier XML. Je le sais car lorsque je recharge l'application, le résultat est correct. Cependant, quand je viens d'actualiser le fournisseur de données sans fermer l'application flexible, les cases à cocher revenir à ce qu'ils étaient avant le changement.Comment recharger la case à cocher dans itemrenderer
Voici donc la case à cocher personnalisée:
<?xml version="1.0" encoding="utf-8"?>
<mx:CheckBox xmlns:mx="http://www.adobe.com/2006/mxml" >
<mx:Script>
<![CDATA[
override public function set data(value:Object):void{
super.data = value;
trace("data = " + [email protected]);
if([email protected] == "true")
{
this.selected = true;
}else
{
this.selected = false;
}
}
]]>
</mx:Script>
</mx:CheckBox>
Et voici où je l'appelle:
<mx:DataGridColumn width="75" headerText="hide?" dataField="@hidden">
<mx:itemRenderer>
<mx:Component>
<local:itemRendCheckBox />
</mx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
J'imagine ce qui se passe est que tout est mise à jour à l'exception du itemRenderer custome. Y at-il quelque chose que je peux faire pour indiquer la case à cocher pour actualiser avec le fournisseur de données?
utilisez-vous [Bindable] sur votre variable dataProvider? Il pourrait également être utile de montrer un peu plus de code. – asawilliams
En remarque, pourquoi les gens ressentent-ils le besoin d'utiliser si ce n'est PAS réellement nécessaire? –
que recommanderiez-vous plutôt, j'ai encore beaucoup à apprendre. Je l'ai fait parce que mon autre moyen ne fonctionnait pas. – pfunc