2010-11-23 11 views
0

J'ai une application qui présente un formulaire qui accepte de nombreux éléments de données. Je voudrais "obscurcir" ces champs non obligatoires qui n'ont pas été complétés (en mettant l'alpha à ".5"). Je pensais à créer un tableau et à entrer manuellement tous les TextInputs et les CheckBoxes, mais je pensais alors qu'il pourrait/devrait y avoir un moyen d'obtenir une liste de tous les composants et contrôles dans mon application. J'ai fait quelques recherches mais je n'ai pas encore trouvé la réponse - je continuerai à chercher. En regardant par moi-même, j'ai pensé que je poserais la question ici. Merci pour tout conseil.Dans Flex 4, comment puis-je obtenir une liste de composants dans mon application?

+0

Avez-vous obtenu la réponse à cette question? existe-t-il une méthode comme getcomponentList? – karthi

Répondre

0

Je vous recommande d'utiliser les conteneurs Form et FormElement du package mx. Cela fonctionnera dans flex4. Cela vous permet de configurer la validation et les champs obligatoires très facilement. Voici le documentation. Après avoir lu votre commentaire, cela semble facile.

+0

Merci Greg. J'utilise les conteneurs Form et FormElement et j'utilise une validation en indiquant les champs obligatoires. Je n'ai pas posé ma question correctement - désolé. Ce que je me demandais, c'est comment obtenir une liste de mes composants dynamiquement au moment de l'exécution. Je suis à la recherche d'une fonction de type "getComponentList". Par exemple, si j'ai un formulaire avec 3 FormElements, je veux en créer une liste à l'exécution. Merci – JoeH

0

Vous pouvez parcourir les éléments du formulaire. C'est différent pour MX Form et Spark Form.

var listOfElements:Array = []; 
var formItem:FormItem; 

for (var i:int = 0; i < myForm.numElements; i++) //myForm.numChildren for MX 
{ 
    formItem = myForm.getElementAt(i) as FormItem; //myForm.getItemAt(i) for MX 

    if(formItem) 
    { 
     trace("setting alpha for",formItem.name); 
     formItem.alpha = 0.5; 
     listOfElements.push(formItem); 
    } 
}