Hum..... interessante.... eu fiz uma assim....

No meu caso, trabalho com Form padrão do flex, e se caso eu tiver algum
container dentro de um FormItem, a função chama a si mesma passando o
container como argumento. Por isso o argumento é um Object (poderia ser um
Container... alterem se quiser)

Lembrando que todo container do Flex já extends da classe Container.as que,
por sua vez, implementa a interface IContainer. Graças ao conceito de
herança e poliformismo é possível descobrir facilmente quem é um container
ou não.

Dessa forma, posso ter infinito níveis de hierarquia de containers dentro do
form.

         /**
         * Limpa os campos de um formulário
         */
         public static function cleanForm(form:Object) : void {
             //pega um arrays de filhos do Container...
              var itensdoFormulario:Array = form.getChildren();

             // para cada filho ...
             for each(var item:Object in itensdoFormulario) {
                 //... se for um outro container
                 if (item is Container) {
                     //chama a função novamente passando o filho como
argumento...
                     cleanForm(item);
                 } else { //senão é container, então é um objeto conhecido
                     //aqui estou limapando alguns campos... gostei da idéia
do switch, pode ser interessante, alterem se quiser....
                     if (item is TextInput ||
                         item is DateField ||
                         item is TextArea) {
                          item.text = "";//limpa a propriedade 'text' do
objeto conhecido
                      }
                 }
             }
          }

Fim.

Esse método faz parte do EloUtils, e por ser estático eu o chamo da seguinte
forma:
EloUtils.cleanForm(<id_do_form>) // pode ser aplicado encima de qualquer
container.


Abraços


Mario Junior

-- 
Mário de Souza Júnior
Programador Java / Flex : AS3 / PHP
(44) 4009-3550 Maringá-PR
http://blog.mariojunior.com
[EMAIL PROTECTED] (gtalk, msn, etc..)

--~--~---------~--~----~------------~-------~--~----~
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com
Para sair da lista, envie um email em branco para [EMAIL PROTECTED]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
-~----------~----~----~----~------~----~------~--~---

Responder a