2010-12-01 41 views
1

J'ai un contrôle de liste d'étincelles (id = "Cclist") dans un de mes composants personnalisés() et un contrôle d'entrée de texte. Quand une valeur est entrée dans la saisie de texte, je veux ajouter dynamiquement la même chose dans le contrôle de la liste. J'ai essayé de faire ce qui suit:.Comment ajouter dynamiquement des données à un contrôle de liste d'étincelles

protected function Cc_selectHandler(event:CustomEvent):void 

{

var cctext:DisplayObject = event.data as DisplayObject 
CcList.enabled = true; 
CcListButton.enabled = true; 

CcList.addChild(cctext); 

}

Mais je reçois une erreur « addChild() ne sont pas disponibles dans cette classe au lieu, utilisez addElement() ou modifier la peau ". J'ai donc essayé d'utiliser addElement, mais apparemment ce n'est pas disponible du tout. Une idée de ce que je fais mal?

Répondre

2
<s:List x="732" y="299" width="191" height="108" id="lstQue"> 
<s:dataProvider> 
    <mx:ArrayCollection> 

    </mx:ArrayCollection> 
</s:dataProvider> 

Nécessite un fournisseur de données pour utiliser la méthode addItem. Une manière rapide et sale consiste simplement à ajouter un dataProvider vide avec un ArrayCollection vide inclus.

Exemple d'ajout via un événement click.

protected function imgAddToList_clickHandler(event:MouseEvent):void 
     { 
          this.lstQue.dataProvider.addItem(DataGrid.selectedItem.fldVideoThumb); 

     }