2009-09-03 6 views
1

J'essaie de configurer un formulaire qui présente une liste déroulante lorsqu'une collection ArrayCollection est associée à plusieurs éléments, et n'en présente pas lorsqu'elle est vide ou n'a que un article. J'ai essayé de le faire en créant cette classe, mais malheureusement, le fournisseur de données auquel je suis lié n'est jamais vide au moment où le setter s'exécute. Y a-t-il une façon différente d'aborder cela?Flex: modification des propriétés de contrôle en fonction du contenu d'un événement de liaison de données

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; 
    } 
} 

Répondre

1

Je l'ai fait d'une manière différente:

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

En supposant que myData est bindable, cela devrait faire l'affaire!

Questions connexes