2
Comment ajouter un élément à un tableau multidimensionnel? Je veux ajouter le prix à item2 mais je reçois « push est pas une fonction »Ajouter un élément à un tableau
<fx:Script>
<![CDATA[
[Bindable]
public var dp:Array = [
{ label: "item1", desc: "this is item 1" },
{ label: "item2", desc: "this is item 2" },
{ label: "item3", desc: "this is item 3" }
];
private function addItem():void{
var v:String = '$8.99';
dp[1].push(("price:", v));
dp.refresh();
}
]]>
</fx:Script>
<mx:VBox>
<mx:Repeater id="r" dataProvider="{myAC}">
<mx:RadioButton label="{r.currentItem.label}"/>
<mx:Text text="{r.currentItem.desc}"/>
<mx:Text text="{r.currentItem.price}"/>
</mx:Repeater>
<s:Button label="push" click="addItem()"/>
</mx:VBox>
</mx:Application>
... 'addItem' devrait vraiment être modifié pour refléter l'action ... –
maintenant je reçois une erreur: « refresh() »n'est pas une fonction –
utilisation ArrayCollection au lieu de tableau: publics var dp: ArrayCollection = new ArrayCollection ([ {label: "item1", desc: "ceci est l'article 1", prix: ""}, {label: "item2", desc: "this is item 2", prix : ""}, {label: "item3", desc: "ceci est l'article 3", prix: ""} ]); voir: http://blog.flexdevelopers.com/2009/03/flex-basics-arraycollection.html – wajiw