Robinho, isso acontece pq o flex termina de percorrer o laço e depois
executa a função. Você pode por exemplo passar o pHor criado para dentro da
função como parâmetro:
for(var a:int = 0; a < acPro.length; a++){
pHor = new spark.components.Panel();
(...)
buscaAgenda(pHor);
}
function BuscaAgenda(panel:Panel):void{
var lbl:Label = new Label();
panel.addElement(lbl);
}
Testa aí pra ver se funciona.
Em terça-feira, 1 de julho de 2014 11h14min41s UTC-3, Robinho de Morais
escreveu:
>
> Leonardo eu fiz quase isso, mas não deu muito certo, pois quando eu
> termino de criar o panel eu tenho que consultar quem pertence a esse panel,
> então tenho um metodo que pega o acPro[a].cd_profissional, pesquisa e no
> result faço assim...
>
> for(var a:int = 0; a < acPro.length; a++){
> pHor = new spark.components.Panel();
> pHor.id = "p_"+acPro[a].cd_profissional;
> pHor.title = acPro[a].nm_profissional;
> pHor.width = 201;
> pHor.height = 1680;
> pHor.setStyle("dropShadowVisible",false);
> var lbl:Label = new Label();
> (faz as configurações do label, como posicionamento...)
> pHor.addElement(lbl);
> gAgendaProf.addElement(pHor); //group
>
> buscaAgenda();//busca os horários do
> acPro[a].cd_profissional
> }
>
> ...result do buscaAgenda
>
> eWin = new EscapeWindow();
> eWin.id = acAge[a].cd_agenda;
> eWin.width = 50;
> eWin.height = (30*acAge[a].qt_minutos);
> eWin.y = position;
> eWin.title = acAge[a].nm_pessoa;
> //eWin.status = acAge[a].nm_pessoa;
> eWin.resizable = true;
> eWin.movable = true;
> eWin.setStyle("dropShadowVisible",false);
> pHor.addElement(eWin); //adiciono o eWin no cPro(Panel)
>
>
> mas aparece tudo no ultimo panel....
>
> Qualquer dúvida estou a disposição.
>
> *Robinho*
> *Analista/Programador de Sistemas*
> *Skype: robinhocne*
> *"A fé em Deus nos faz crer no incrível, ver o invisível e realizar o
> impossível."*
>
>
> Em 1 de julho de 2014 08:35, Leonardo Oliveira <[email protected]
> <javascript:>> escreveu:
>
>> Robinho, à medida em que você vai criando vc vai adicionando o que vc
>> precisa...
>>
>>
>> for(var a:int = 0; a < acPro.length; a++){
>> pHor = new spark.components.Panel();
>> pHor.id = "p_"+acPro[a].cd_profissional;
>> pHor.title = acPro[a].nm_profissional;
>> pHor.width = 201;
>> pHor.height = 1680;
>> pHor.setStyle("dropShadowVisible",false);
>> var lbl:Label = new Label();
>> (faz as configurações do label, como posicionamento...)
>> pHor.addElement(lbl);
>> gAgendaProf.addElement(pHor); //group
>> }
>>
>> Ou depois de criado chama pelo id e adiciona, vc escolhe.
>>
>>
>> Em segunda-feira, 30 de junho de 2014 22h26min42s UTC-3, Robinho de
>> Morais escreveu:
>>>
>>> Pessoal me de uma ajuda, não estou sabendo como fazer....
>>>
>>> Criei 3 panel automatico.... mas dessa maneira
>>>
>>>
>>> for(var a:int = 0; a < acPro.length; a++){
>>> pHor = new spark.components.Panel();
>>> pHor.id = "p_"+acPro[a].cd_profissional;
>>> pHor.title = acPro[a].nm_profissional;
>>> pHor.width = 201;
>>> pHor.height = 1680;
>>> pHor.setStyle("dropShadowVisible",false);
>>> gAgendaProf.addElement(pHor); //group
>>> }
>>>
>>> Nesse for eu criei 3 pHor (Panel) p_1, p_2 e p_3 então agora eu preciso
>>> adicionar automaticamente dentro desses panels alguns componentes, como
>>> faço isso ?
>>>
>>>
>>>
>>> Em terça-feira, 24 de junho de 2014 16h57min58s UTC-3, Robinho de Morais
>>> escreveu:
>>>
>>>> apertei sem querer o botão enviar....
>>>>
>>>> mas como eu faço para ir adicionando os :
>>>>
>>>> for(var a:int = 0; a < acAge.length; a++){
>>>>
>>>> eWin = new EscapeWindow();
>>>> eWin.id = acAge[a].cd_agenda;
>>>> eWin.width = 200;
>>>> eWin.height = (30*acAge[a].qt_minutos);
>>>> eWin.x = (1*acAge[a].qt_minutos);
>>>> eWin.title = acAge[a].hr_inicial + " - " + acAge[a].hr_final;
>>>> eWin.status = acAge[a].nm_pessoa;
>>>> eWin.resizable = true;
>>>> eWin.movable = true;
>>>> cPro.addElement(eWin);
>>>> }
>>>>
>>>> dentro do panel que estou criando....por exemplo terei alguns eWin que
>>>> será dentro do p_1 e outros dentro do p_2 e p_3, mas os panels é
>>>> aleatorio,
>>>> não sei se teria 2 ou 3 ou 4 ou 1.
>>>>
>>>> entendeu ?
>>>>
>>>> Qualquer dúvida estou a disposição.
>>>>
>>>> *Robinho*
>>>> *Analista/Programador de Sistemas*
>>>> *Skype: robinhocne*
>>>> *"A fé em Deus nos faz crer no incrível, ver o invisível e realizar o
>>>> impossível."*
>>>>
>>>>
>>>> Em 24 de junho de 2014 16:54, Robinho de Morais <[email protected]>
>>>> escreveu:
>>>>
>>>>> Leonardo....
>>>>>
>>>>>
>>>>> Eu fiz assim:
>>>>>
>>>>> for(var a:int = 0; a < acPro.length; a++){
>>>>> pHor = new spark.components.Panel();
>>>>> pHor.id = "p_"+acPro[a].cd_profissional;
>>>>> pHor.title = acPro[a].nm_profissional;
>>>>> pHor.width = 500;
>>>>> pHor.height = 800;
>>>>>
>>>>> cPro = new Canvas();
>>>>> cPro.id = "c_"+acPro[a].cd_profissional;
>>>>> cPro.width = 400;
>>>>> cPro.height = 800;
>>>>> cPro.setStyle("backgroundColor","#DDDDDD");
>>>>> pHor.addElement(cPro);
>>>>> //adiciona o Panel no group
>>>>> gAgendaProf.addElement(pHor);
>>>>>
>>>>> }
>>>>>
>>>>>
>>>>> Nesse caso vamos supor que o acPro.length tem o valor 3, então cria se
>>>>> o panel p_1, p_2 e p_3, mas ai eu tenho que adicionar dentro desses panels
>>>>>
>>>>>
>>>>> public function resultAgenda(e:ResultEvent):void {
>>>>> acAge = new ArrayCollection(e.result as Array);
>>>>> for(var a:int = 0; a < acAge.length; a++){
>>>>>
>>>>> eWin = new EscapeWindow();
>>>>> eWin.id = acAge[a].cd_agenda;
>>>>> eWin.width = 200;
>>>>> eWin.height = (30*acAge[a].qt_minutos);
>>>>> eWin.x = (1*acAge[a].qt_minutos);
>>>>> eWin.title = acAge[a].hr_inicial + " - " + acAge[a].hr_final;
>>>>> eWin.status = acAge[a].nm_pessoa;
>>>>> eWin.resizable = true;
>>>>> eWin.movable = true;
>>>>> cPro.addElement(eWin);
>>>>> }
>>>>> }
>>>>>
>>>>> Qualquer dúvida estou a disposição.
>>>>>
>>>>> *Robinho*
>>>>> *Analista/Programador de Sistemas*
>>>>> *Skype: robinhocne*
>>>>> *"A fé em Deus nos faz crer no incrível, ver o invisível e realizar o
>>>>> impossível."*
>>>>>
>>>>>
>>>>> Em 24 de junho de 2014 15:44, Leonardo Oliveira <
>>>>> [email protected]> escreveu:
>>>>>
>>>>> Exatamente, vai criando e adicionando, tipo:
>>>>>>
>>>>>> for(var i:uint=0; i<10; i++){
>>>>>> var panel:Panel = new Panel();
>>>>>> panel.percentHeight = 100;
>>>>>> panel.percentWidth = 100;
>>>>>> panel.left = 0;
>>>>>> panel.top = 0;
>>>>>> group.addElement(panel3);
>>>>>> }
>>>>>>
>>>>>> Em segunda-feira, 23 de junho de 2014 15h13min48s UTC-3, Robinho de
>>>>>> Morais escreveu:
>>>>>>>
>>>>>>> Entendi....mas como eu faço para criar x panels automaticamente....
>>>>>>>
>>>>>>> tipo terei uma variavel que receberá a quantidade de panel que devo
>>>>>>> criar....ai eu jogo dentro de um for para ele criar e adicionar alguns
>>>>>>> dados no caption do panel diferente um do outro....
>>>>>>>
>>>>>>> Qualquer dúvida estou a disposição.
>>>>>>>
>>>>>>> *Robinho*
>>>>>>> *Analista/Programador de Sistemas*
>>>>>>> *Skype: robinhocne*
>>>>>>> *"A fé em Deus nos faz crer no incrível, ver o invisível e realizar
>>>>>>> o impossível."*
>>>>>>>
>>>>>>>
>>>>>>> Em 23 de junho de 2014 09:10, Leonardo Oliveira <
>>>>>>> [email protected]> escreveu:
>>>>>>>
>>>>>>>> Um exemplo bem básico:
>>>>>>>> <?xml version="1.0" encoding="utf-8"?>
>>>>>>>> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
>>>>>>>> xmlns:s="library://ns.adobe.com/flex/spark"
>>>>>>>> xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955"
>>>>>>>> minHeight="600"
>>>>>>>> creationComplete="inicializar(event)">
>>>>>>>> <fx:Declarations>
>>>>>>>> <!-- Place non-visual elements (e.g., services, value objects) here
>>>>>>>> -->
>>>>>>>> </fx:Declarations>
>>>>>>>> <fx:Script>
>>>>>>>> <![CDATA[
>>>>>>>> import mx.events.FlexEvent;
>>>>>>>> private function inicializar(evt:FlexEvent):void{
>>>>>>>> //cria um novo grupo:
>>>>>>>> var group:Group = new Group();
>>>>>>>> group.percentHeight = 100;
>>>>>>>> group.percentWidth = 100;
>>>>>>>> //cria dois novos paineis:
>>>>>>>> var panel3:Panel = new Panel();
>>>>>>>> panel3.percentHeight = 100;
>>>>>>>> panel3.percentWidth = 100;
>>>>>>>> panel3.left = 0;
>>>>>>>> panel3.top = 0;
>>>>>>>> panel3.title = "Painel 3";
>>>>>>>> var panel4:Panel = new Panel();
>>>>>>>> panel4.left = 0;
>>>>>>>> panel4.top = 300;
>>>>>>>> panel4.percentHeight = 100;
>>>>>>>> panel4.percentWidth = 100;
>>>>>>>> panel4.title = "Painel 4";
>>>>>>>> //adiciona os elementos criados:
>>>>>>>> group.addElement(panel3);
>>>>>>>> group.addElement(panel4);
>>>>>>>> hGroup.addElement(group);
>>>>>>>> }
>>>>>>>> ]]>
>>>>>>>> </fx:Script>
>>>>>>>> <s:HGroup width="100%" height="100%" id="hGroup">
>>>>>>>> <s:Group width="100%" height="100%">
>>>>>>>> <mx:Canvas width="100%" height="100%">
>>>>>>>> <s:Panel title="Painel 1" width="100%" height="50%" left="0"
>>>>>>>> top="0">
>>>>>>>> </s:Panel>
>>>>>>>> <s:Panel title="Painel 2" left="0" top="300" bottom="0" right="0">
>>>>>>>> </s:Panel>
>>>>>>>> </mx:Canvas>
>>>>>>>> </s:Group>
>>>>>>>> </s:HGroup>
>>>>>>>> </s:Application>
>>>>>>>>
>>>>>>>> Em domingo, 22 de junho de 2014 14h06min42s UTC-3, Robinho de
>>>>>>>> Morais escreveu:
>>>>>>>>
>>>>>>>>> Como faço para criar x group e x panels dentro dele ?
>>>>>>>>>
>>>>>>>>> quero apertar e criar x group e depois de acordo com as
>>>>>>>>> informações ir criar panels dentro dele...
>>>>>>>>>
>>>>>>>> --
>>>>>>>> --
>>>>>>>> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
>>>>>>>> Para enviar uma mensagem, envie um e-mail para
>>>>>>>> [email protected]
>>>>>>>> Para sair da lista, envie um email em branco para flexdev-u...@
>>>>>>>> googlegroups.com
>>>>>>>>
>>>>>>>> Mais opções estão disponíveis em http://groups.google.com/group
>>>>>>>> /flexdev
>>>>>>>> ---
>>>>>>>> Você recebeu essa mensagem porque está inscrito no grupo
>>>>>>>> quot;flexdev" dos Grupos do Google.
>>>>>>>> Para cancelar inscrição nesse grupo e parar de receber e-mails
>>>>>>>> dele, envie um e-mail para [email protected].
>>>>>>>>
>>>>>>>> Para mais opções, acesse https://groups.google.com/d/optout.
>>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>> --
>>>>>> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
>>>>>> Para enviar uma mensagem, envie um e-mail para
>>>>>> [email protected]
>>>>>> Para sair da lista, envie um email em branco para flexdev-u...@
>>>>>> googlegroups.com
>>>>>> Mais opções estão disponíveis em http://groups.google.com/
>>>>>> group/flexdev
>>>>>> ---
>>>>>> Você recebeu essa mensagem porque está inscrito no grupo
>>>>>> quot;flexdev" dos Grupos do Google.
>>>>>> Para cancelar inscrição nesse grupo e parar de receber e-mails dele,
>>>>>> envie um e-mail para [email protected].
>>>>>> Para mais opções, acesse https://groups.google.com/d/optout.
>>>>>>
>>>>>
>>>>>
>>>> --
>> --
>> Você recebeu esta mensagem porque está inscrito na lista "flexdev"
>> Para enviar uma mensagem, envie um e-mail para [email protected]
>> <javascript:>
>> Para sair da lista, envie um email em branco para
>> [email protected] <javascript:>
>> Mais opções estão disponíveis em http://groups.google.com/group/flexdev
>> ---
>> Você recebeu essa mensagem porque está inscrito no grupo quot;flexdev"
>> dos Grupos do Google.
>> Para cancelar inscrição nesse grupo e parar de receber e-mails dele,
>> envie um e-mail para [email protected] <javascript:>.
>> Para mais opções, acesse https://groups.google.com/d/optout.
>>
>
>
--
--
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
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
---
Você está recebendo esta mensagem porque se inscreveu no grupo "flexdev" dos
Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um
e-mail para [email protected].
Para obter mais opções, acesse https://groups.google.com/d/optout.