2009-09-03 4 views
1

바인딩 된 ArrayCollection에 여러 항목이있을 때 콤보 상자를 표시하는 폼을 설정하려고합니다. 비어 있거나있을 때만 표시합니다. 하나의 항목. 이 클래스를 작성하여이 작업을 시도했지만 유감스럽게도 바인더를 실행 한 데이터 공급자는 설정자가 실행될 때 결코 비어 있지 않습니다. 이 접근 방식이 다른 방법이 있습니까?Flex : 데이터 바인딩 이벤트의 내용을 기반으로 컨트롤 속성 변경

public class ComboboxOrFail extends ComboBox 
{ 
    public function ComboboxOrFail() 
    { 
     super(); 
    } 

    public override function get dataProvider():Object 
    { 
     return super.dataProvider; 
    } 

    public override function set dataProvider(value:Object):void 
    { 
     this.visible = (value && value.length && value.length > 1); 
     super.dataProvider = value; 
    } 
} 

답변

1

나는 다른 방식으로 이런 짓을했습니다

<mx:ComboBox dataProvider="{myData}" visible="{myData != null &amp;&amp; myData.length > 1}"/> 

이 MYDATA이 바인딩이라고 가정하면,이 트릭을 할해야합니다!

관련 문제