我有一个List,我有一个ArrayCollection。
ArrayCollection类似于:
<mx:ArrayCollection id="arrColl">
<mx:source>
<mx:Array>
<mx:Object label="Student A" score="85,36,43,67,54,47" />
<mx:Object label="Student B" score="85,36,43,67,54,47" />
<mx:Object label="Student C" score="85,36,43,67,54,47" />
</mx:Array>
</mx:source>
</mx:ArrayCollection>
我需要列表才能显示学生的分数。
类似的东西:
<s:List dataprovider="arrColl[Student A]"/>
或:
<s:List dataprovider="arrColl.Student A."/>
答案 0 :(得分:1)
问题是列表控件不会拿起这个“34,65,36,87,12”变量并将其变成IList列表。
我想通了,我首先必须这样做:studentAArray = new ArrayCollection(arrColl.score.split(“,”));然后使用studentAArray作为List数据提供者。
答案 1 :(得分:0)
不要对列表做任何事情来实现这一点。您想要将过滤器应用于ArrayCollection。该列表将立即获取过滤器,并从视图中删除无效项目。
像这样设置dataProvider:
<s:List dataprovider="arrColl"/>
然后创建一个filterFunction,如下所示:
public function StudentAFilter(item:Object):void{
if(item['label'] = "Student A"){
return true;
}
return false;
}
在代码中的某处,执行以下操作:
arrColl.filterFunction = StudentAFilter;
arrColl.refresh()
上面的代码通常与按钮单击或下拉列表的更改处理程序有关;取决于您希望用户过滤数据的方式。