2011-04-15 2 views
0

Comment puis-je définir une valeur de liste déroulante en utilisant as3?Comment définir dynamiquement une valeur de zone de liste déroulante à l'aide de AS3?

Il doit fonctionner comme ceci!

J'ai ces valeurs sur le combobox:

20 30 40 50


Ces chiffres sont de taille de la police.

J'ai juste besoin sothing comme ceci:

combobox.selectedIndex = AutoSelect (combobox, "40");


Je trouve cette fonction:

private function findItemIndex (element:ComboBox, dataString:String):int { 
    var index:int = 0; 
    for (var i = 0; i < element.length; i++) { 
     if (element.getItemAt(i).data.toString() == dataString) { 
      index = i; 
      break; 
     } 
     else { 
     } 
    } 
    return index; 
} 

myComboBox.selectedIndex = this.findItemIndex(myComboBox, "stringToMatch"); 

Mais je reçois cette erreur:

1000: référence à Ambigu ComboBox.

Répondre

2

Votre erreur n'est pas liée à ce que vous essayez de faire dans la fonction. L'erreur vous indique qu'il existe plusieurs classes ComboBox dans votre chemin d'accès aux classes et ne sait pas à quelle classe vous faites référence. Cela peut être effacé en qualifiant pleinement le nom de la classe, ou en supprimant l'ambiguïté (par exemple, si vous avez nommé l'une de vos propres classes ComboBox, renommez-la).

0

Cette erreur apparaît lorsque le compilateur ne sait pas quel composant utiliser. Deux composants peuvent avoir le même nom. Pour résoudre l'ambiguïté, utilisez le nom du composant avec son chemin complet. Le cas de ComboBox est que les bibliothèques Spark et mx l'ont. Pour résoudre cette erreur, incluez le nom qualifié complet où le compilateur donne une erreur.

Essayez ceci pour la comboBox de étincelle

private function findItemIndex (element:spark.components.ComboBox, dataString:String):int 

Essayez ceci pour la comboBox de mx

private function findItemIndex (element:mx.controls.ComboBox, dataString:String):int 
Questions connexes