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
