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

Responder a