2011-03-14 2 views
0

나는 목록이 있고 ArrayCollection이 있습니다.Flash Builder에서 <s:List> dataprovider = "특정 부분의 배열"을 만드는 방법은 무엇입니까?

있는 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


이 일어날 수 있도록 목록에 아무것도하지 마십시오. ArrayCollection에 필터를 적용하려고합니다. 목록은 즉시 필터를 선택하고 뷰에서 잘못된 항목을 제거합니다.

은 다음과 같이하는 dataProvider을 설정, 코드에서 어딘가에

public function StudentAFilter(item:Object):void{ 
    if(item['label'] = "Student A"){ 
    return true; 
    } 
    return false; 
} 

그리고 이런 일을 수행합니다 :

<s:List dataprovider="arrColl"/> 

그런 다음,이 같은 것을 filterFunction을 만들

arrColl.filterFunction = StudentAFilter; 
arrColl.refresh() 

위의 코드는 종종 버튼 클릭 또는 드롭 다운의 변경 핸들러와 관련이 있습니다 목록; 사용자가 데이터를 필터링하는 방법에 따라 다릅니다.

+0

문제는 목록 컨트롤이 "34,65,36,87,12"변수를 가져 오지 않고 IList 목록으로 바꾸는 것입니다. –

+0

알아 냈어. 먼저이 일을해야 해. studentAArray = new ArrayCollection (arrColl.score.split (",")); 그런 다음 studentAArray를 List 데이터 제공자로 사용하십시오. –

+0

@Nathan Johnson "Score"변수를 가져 와서 dataProvider로 사용하고 싶지 않다는 것을 알았습니다. 가능한 경우 쉼표로 구분 된 목록을 사용하지 마십시오. 나는 그런 식으로 데이터를 채우는 것이 무엇인지 궁금해해야합니다. – JeffryHouser

1

목록 컨트롤이 "34,65,36,87,12"변수를 가져 오지 않아서 IList 목록으로 바뀌지 않는 것이 문제입니다.

나는 이것을 알아 냈다 : studentAArray = new ArrayCollection (arrColl.score.split (",")); 그런 다음 studentAArray를 List 데이터 제공자로 사용하십시오.

관련 문제