Flex Spark List仅显示Array的最后一个变量

时间:2013-02-25 09:39:37

标签: arrays actionscript-3 flex flash-builder

我想在sparkList上显示Arraycollection中的变量。但List始终只显示最后一个变量。这是代码。

<fx:Script>
    <![CDATA[

[Bindable]private var arc:ArrayCollection;

private function price(event:Event):void {

  var arr:Array='[web response]';
  for(var i:int=0; i < arr.length; i++){
  if((arr[i]['SalesPrice'] >= 0) && (arr[i]['SalesPrice'] <= 100)) {

  var string:String=arr[i]['InventoryId'];
  var array:Array=new Array(string);
  arc=new ArrayCollection(array);
  trace(arc);
  }
  }
    }

  ]]>
  </fx:Script>

 <s:List id="myList" dataProvider="{arc}" />

获得跟踪输出,但我需要将其显示为列表。任何帮助

1 个答案:

答案 0 :(得分:0)

看来你的逻辑不太正确。 在你的脚本

  

arc = new ArrayCollection(array);

列表不正确;而不只是使用

  

arc.addItem(数组);

所以你的代码变成了;

var arr:Array = '[web response]';
arc = new ArrayCollection();
for(var i:int=0; i < arr.length; i++){
    if((arr[i]['SalesPrice'] >= 0) && (arr[i]['SalesPrice'] <= 100)) {
        var string:String=arr[i]['InventoryId'];
        var array:Array=new Array(string);
        arc.addItem(array);
        trace(arc);
    }
}