Na Vendovelli tem um exemplo utilizando itemRender interessante porém ele parece não estar executando a funtion change quando seleciono o checkbox.
<?xml version="1.0" encoding="utf-8"?> <mx:Box xmlns:mx="http://www.adobe.com/2006/mxml" paddingLeft="15"> <mx:Script> <![CDATA[ */*Para entender a necessidade deste método, veja: http://www.vedovelli.com.br/?p=835*/ * *override* *public* *function* *set* data(value:Object):*void * { *super*.data = value; *if*(value.autorizado == *true*) { chk.selected = *true*; } *else* { chk.selected = *false*; } } *private* *function* alterar():*void * { */* Quando vc manipula a propriedade data, que contém o registro do dataGrid, vc está manipulando diretamente o dataProvider. Assim, na hora de salvar no banco, basta enviar o objeto de volta, com os valores atualizados*/ * data.autorizado = chk.selected; } ]]> </mx:Script> <mx:CheckBox id="chk" change="alterar()"/> </mx:Box> <mx:DataGridColumn headerText="Aut." dataField="autorizado" itemRenderer="fs.controls.ItemRenderer" width="50"/> Pois quando passo o dataProvider ele não remove ou adiciona os itens selecionados . Em 23 de setembro de 2011 10:21, Fernando Noronha <fenoro...@gmail.com>escreveu: > JMD, a propriedade "selected" do CheckBox é booleana, então acredito que o > "X" deveria ser booleano. > > Caso não seja faça isso {(condição) ? true : false} > > {(condição) ? true : false} é equivalente a > > if(condição) > { > checkBox.selected = true; > } else { > checkBox.selected = false; > } > > Sugiro que voce estude OO, estrutura de dados e tipagem de dados. > > -- > Fernando Noronha > Cel.: +55 11 9370 4809 > Cel: +55 12 9164 6564 > Msn: fenoro...@hotmail.com > Skype ID: fenoronha > > > Em 23 de setembro de 2011 09:53, Re JMD <rjmdf...@gmail.com> escreveu: > > o X tem que ser boolean? >> >> Em 23 de setembro de 2011 09:31, Fernando Noronha >> <fenoro...@gmail.com>escreveu: >> >> JMD, dentro de todos os componentes MX existe a propriedade "data", no >>> caso do seu itemRenderer do "data" é o objeto da linha do seu DataGrid, >>> então voce vai ter que fazer algo parecido com isso >>> >>> <mx:DataGridColumn dataField="X" width="20" > >>> >>> <mx:itemRenderer> >>> >>> <fx:Component> >>> >>> <mx:HBox horizontalAlign="center" verticalAlign="middle"> >>> >>> <mx:CheckBox selected="{(data.x == true) ? true : false}"/> >>> >>> OU >>> >>> <mx:CheckBox selected="{data.x}"/> >>> >>> </mx:HBox> >>> >>> -- >>> Fernando Noronha >>> Cel.: +55 11 9370 4809 >>> Cel: +55 12 9164 6564 >>> Msn: fenoro...@hotmail.com >>> Skype ID: fenoronha >>> >>> Em 23 de setembro de 2011 09:18, Re JMD <rjmdf...@gmail.com> escreveu: >>> >>>> Pessoal, >>>> >>>> Seguindo a dica postada por vocês estou tentando passar o array dessa >>>> forma: >>>> >>>> >>>> *for each*(*var* item:Object *in* dgAcertos.dataProvider){ >>>> >>>> *if* (item[*'X'*] == *true*){ >>>> >>>> arrayEnvio.addItem(item); >>>> >>>> } >>>> >>>> } >>>> >>>> <mx:DataGridColumn dataField="X" width="20" > >>>> >>>> <mx:itemRenderer> >>>> >>>> <fx:Component> >>>> >>>> <mx:HBox horizontalAlign="center" verticalAlign="middle"> >>>> >>>> <mx:CheckBox/> >>>> >>>> </mx:HBox> >>>> >>>> </fx:Component> >>>> >>>> </mx:itemRenderer> >>>> >>>> O Problema é que ele não resolve o if tanto se coloco como true ou >>>> false! >>>> >>>> -- >>>> 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 >>>> flexdev-unsubscr...@googlegroups.com >>>> Mais opções estão disponíveis em http://groups.google.com/group/flexdev >>>> >>> >>> >>> >>> >>> -- >>> 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 >>> flexdev-unsubscr...@googlegroups.com >>> Mais opções estão disponíveis em http://groups.google.com/group/flexdev >>> >> >> -- >> 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 >> flexdev-unsubscr...@googlegroups.com >> Mais opções estão disponíveis em http://groups.google.com/group/flexdev >> > > > > -- > Fernando Noronha > Cel.: +55 11 9370 4809 > Cel: +55 12 9164 6564 > Msn: fenoro...@hotmail.com > Skype ID: fenoronha > > -- > 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 > flexdev-unsubscr...@googlegroups.com > Mais opções estão disponíveis em http://groups.google.com/group/flexdev > -- 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 flexdev-unsubscr...@googlegroups.com Mais opções estão disponíveis em http://groups.google.com/group/flexdev