Entendido.

Obrigado! ^^

On 26 fev, 12:08, William Lepinski <[email protected]> wrote:
> Você pode usar as duas coisas juntas. Ao invés de correr o array você
> pode adicionar um listener para cada checkbox.
> Quando o evento subir vc vai pegar a propriedade "data" do "target" do
> evento, que no caso será o checkbox e então adicionar no array de ids.
>
> ficaria mais ou menos assim:
>
> <mx:CheckBox id="chk_opcional"
> label="{rpt_opcionais.currentItem.opcional}"
> data="{rpt_opcionais.currentItem}" click="add(event);" />
>
> public function add(event:MouseClick):void {
>    if(CheckBox(event.target).selected){
>       arrayCollection.addItem(event.target.data.idopcional)
>    }
>    else {
>       var idx:int =
> arrayCollection.getItemIndex(event.target.data.idopcional);
>       if(idx != -1)
>          arrayCollection.removeItem(idx);
>    }
>
> }
>
> Note que eu mudei o array para arrayCollection para que vc possa
> controlar melhor a inclusão e exclusão dos dados.
>
> []'s
>
> <
>
> On 26 fev, 11:33, Bruno Carneiro <[email protected]> wrote:
>
> > Paulo, não seria complicar demais o código?
>
> > Imaginei aqui como seria, no click o checkbox gravar o id no array...
> > na ocasião do click, como eu vou saber o index do checkbox em relação
> > ao repeter?
>
> > On 26 fev, 11:26, Paulo Augusto Teixeira <[email protected]>
> > wrote:
>
> > > Tem que usar eventos, para ir gravando no array os checkboxers 
> > > selecionados.
>
> > > Use o poder da Assincronicidade do Flex.
>
> > > 2010/2/26 Bruno Carneiro <[email protected]>
>
> > > > Tenho um AC com itens cujas propriedades são idopcional e opcional.
>
> > > > Dou para o usuário a opção de escolher zero ou mais itens.
> > > > <mx:Tile direction="vertical" width="100%">
> > > >        <mx:Repeater id="rpt_opcionais" 
> > > > dataProvider="{this.opcionais_dp}">
> > > >                <mx:CheckBox id="chk_opcional"
> > > > label="{rpt_opcionais.currentItem.opcional}" />
> > > >        </mx:Repeater>
> > > > </mx:Tile>
>
> > > > Depois, na hora de gravar no banco, preciso de gerar um array com os
> > > > ids dos opcionais escolhidos.
>
> > > > var opcionais:Array;
> > > > for (var i:int = 0; i<chk_opcional.length ; i++){
> > > >        if (chk_opcional[i].selected){
> > > >                for (var j:int = 0; j<this.opcionais_dp.length ; i++){
> > > >                        if (opcionais_dp[j].opcional ==
> > > > chk_opcional[i].label){
> > > >                                
> > > > opcionais.push(opcionais_dp[j].idopcional;
> > > >                        }
> > > >                }
> > > >        }
> > > > }
>
> > > > Achei muito ruim porque como eu não tenho o id gravado no checkbox eu
> > > > preciso percorrer o AC para achar o item correspondente ao checkbox no
> > > > AC e então pegar seu id. Assim fica um loop ( percorrer os checkbox )
> > > > dentro de outro loop ( percorrer os arrays )
>
> > > > Existe uma forma melhor de fazer isso, algo como gravar o id junto com
> > > > o checkbox?
>
> > > > --
> > > > 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 emhttp://groups.google.com/group/flexdev
>
> > > --
> > > Paulo A. Teixeira
> > > IT Consulting Expert - Infinitum Technologies Solution
> > > Adobe Certified Expert - Rich Internet Application Specialist
> > > Adobe Certified Expert - Flex 3 with AIR
> > > Adobe Certified Expert - ColdFusion 8
> > > --
> > > Blog:www.pauloteixeira.blog.br
> > > Mobile: (+55 21) 9700-9665- Ocultar texto das mensagens anteriores -
>
> > > - Mostrar texto das mensagens anteriores -

-- 
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

Responder a