Flex 어플리케이션의 DataGrid 열에 DropDownLists를 표시해야합니다. 여기에 내가 뭐하는 거지입니다 :Flex : DropDownList의 dataProvider를 GridItemRenderer에 전달하려면 어떻게해야합니까?
첫째, 커스텀 아이템 렌더러를 생성하고 그것을 드롭 다운리스트의 dataProvider로 사용될 것 IList의 인 속성 전달하는 아이템 렌더러 기능이 있습니다
private function rendererFunction(item:Object):ClassFactory {
var itemRenderer:ClassFactory = new ClassFactory(AudActionDropDownIR);
itemRenderer.properties = {AudActionData: AudActionData};
return itemRenderer;
}
을 드롭 다운리스트를 위해하는 dataProvider으로 사용됩니다 필터링 된 ArrayCollection으로 변환된다 렌더러 (AudActionData)에 전달
<fx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.collections.IList;
[Bindable]
public var TheData:ArrayCollection = new ArrayCollection();
public var AudActionData:IList;
public function init():void
{
TheData = new ArrayCollection(AudActionData.toArray());
TheData.filterFunction = filterTheData;
TheData.refresh();
}
private function filterTheData(item:Object):Boolean {
return item.AUD_STEP_TYPE_ID == data.AUD_STEP_TYPE_ID;
}
]]>
</fx:Script>
<s:DropDownList id="theList"
labelField="AUD_ACTION_DESCR"
requireSelection="true"
selectedIndex="0"
dataProvider="{TheData}"
width="100%"/>
IList의 :
이 사용자 정의 항목 렌더러 클래스에 대한 코드입니다.
저는이 문제에 몇 가지 문제점이 있습니다.
먼저 렌더러를 만들 때 어떻게 init 함수를 호출 할 수 있습니까? 둘째, 열의 itemRendererFunction = "rendererFunction"을 설정하면 앱이 실행되지 않고 흰색 화면이 표시됩니다. 그러나 itemRenderer = "components.AudActionDropDownIR"을 설정하면 앱이 시작되지만 물론 드롭 다운 목록에 데이터가 없습니다.
아이디어가 있으십니까? 감사!