Tenta isso:
arrayDistribuidoras = arrayDistribuidoras.concat() //cria
uma copia do array, forçando o bind
gridDistribuidora.dataProvider = arrayDistribuidoras;
--
@Tonussi <http://twitter.com/tonussi>
tonussi.com
skype: erictonussi
Em 29 de março de 2012 10:52, Helio Antonio Francisco Silva <
[email protected]> escreveu:
> esra que nao tem um comando pra redesenhar o itemrender ? ou alguma coisa
> do tipo w? o pior e que se eu debugo ta la ,selecionar == false mas ele
> fica marcado e alguma coisa que nao ta dando update no itemrender no
> desenho nao sei explicar.
>
>
> 2012/3/29 Helio Antonio Francisco Silva <[email protected]>
>
>> so pra reinteirar nao funcionou.
>>
>>
>> 2012/3/29 Helio Antonio Francisco Silva <[email protected]>
>>
>>> fiz o que voce falo.
>>>
>>> public var arrayDistribuidoras:ArrayCollection = new ArrayCollection();
>>>
>>> //Se selecionar todos os produtos então ele deve marcar todos os
>>> produtos como true
>>> public function getSelectAllProdutos():void{
>>> if(todosProdutos.selected == true){
>>> for(var x:Number=0;x<arrayDistribuidoras.length;x++){
>>> arrayDistribuidoras[x].selecionar = true;
>>> }
>>> }else{
>>> for(var y:Number=0;y<arrayDistribuidoras.length;y++){
>>> arrayDistribuidoras[y].selecionar = false;
>>> }
>>> }
>>> arrayDistribuidoras.refresh();
>>> gridDistribuidora.dataProvider = arrayDistribuidoras;
>>> }
>>>
>>>
>>> <s:CheckBox id="todosProdutos" width="220" label="Selecionar Todas as
>>> Industrias "
>>> click="getSelectAllProdutos()"/>
>>>
>>> tirei o blindable era isso que voce falo ?
>>>
>>>
>>> 2012/3/29 Ricardo Ramires <[email protected]>
>>>
>>>> Tenta colocar callCheckBox.selected = data.selecionar dentro do seu
>>>> set data ou criar uma variavel separada com pra bindar nele. ja tive
>>>> problemas com isso: selected="{data.selecionar}"
>>>>
>>>> Vc deve ter um "for" ou outro loop que qdo vc clica no check de fora
>>>> percorre toda a collection e marca ou desmarca, certo? Tenta dar um
>>>> refresh na collection depois do for.
>>>>
>>>> Ahh e outra coisa, sua collection que popula o grid esta com value
>>>> objects né? todos eles com o bindable em todas as propriedades? Pq se
>>>> for objetos dinamicos só da caca.
>>>>
>>>> Se n resolver faz um projeto separado, com o grid o chek e a simulacao
>>>> dos seus dados no application mesmo pra postar aqui.
>>>>
>>>>
>>>>
>>>> On Mar 29, 10:19 am, Helio Antonio Francisco Silva
>>>> <[email protected]> wrote:
>>>> > Gente me fala uma coisa.
>>>> > Tenho um maldito grid com um maldito item render.
>>>> >
>>>> > <s:DataGrid id="gridDistribuidora" keyUp="validakey(event)"
>>>> width="100%"
>>>> > height="100%" requestedRowCount="4">
>>>> > <s:columns>
>>>> > <s:ArrayList>
>>>> > <s:GridColumn dataField="cgc" width="150"
>>>> > headerText="CNPJ"></s:GridColumn>
>>>> > <s:GridColumn dataField="razao_social"
>>>> > headerText="Razão Social"></s:GridColumn>
>>>> > <s:GridColumn dataField="selecionar"
>>>> width="40"
>>>> > headerText="">
>>>> > <s:itemRenderer>
>>>> > <fx:Component>
>>>> > <s:GridItemRenderer
>>>> > clipAndEnableScrolling="true" >
>>>> > <fx:Script>
>>>> > <![CDATA[
>>>> >
>>>> > override public
>>>> function
>>>> > set data(value:Object):void
>>>> > {
>>>> > super.data =
>>>> value;
>>>> > }
>>>> > /*override public
>>>> function
>>>> > prepare(hasBeenRecycled:Boolean):void
>>>> > {
>>>> >
>>>> //callCheckBox.selected
>>>> > = data.selecionar;
>>>> > }*/
>>>> >
>>>> > private function
>>>> > valueChange():void
>>>> > {
>>>> > data.selecionar =
>>>> > callCheckBox.selected;
>>>> >
>>>> > outerDocument.todosProdutos.selected = false;
>>>> > }
>>>> > ]]>
>>>> > </fx:Script>
>>>> > <s:HGroup left="5" top="9"
>>>> > right="5" verticalAlign="baseline">
>>>> > <s:CheckBox
>>>> id="callCheckBox"
>>>> > click="valueChange()" selected="{data.selecionar}"/>
>>>> > </s:HGroup>
>>>> > </s:GridItemRenderer>
>>>> > </fx:Component>
>>>> > </s:itemRenderer>
>>>> > </s:GridColumn>
>>>> > </s:ArrayList>
>>>> > </s:columns>
>>>> > </s:DataGrid>
>>>> >
>>>> > Problema e o seguinte, simplismente somente visualmente fica 1
>>>> checkbox
>>>> > marcado.
>>>> > eu tenho um checkbox superior que fica em cima do grid, se eu clicar
>>>> nesse
>>>> > check ele marca todos se eu desmarcar ele desmarca todos, mas
>>>> visualmente
>>>> > ele sempre deixa 1 marcado, mas nao ta, se voce puxar a barra de
>>>> rolagem
>>>> > pra baixo e voltar ele sme a marcação dele, mesmo coisa quando marco
>>>> todos,
>>>> > esse mesm fica desmarcado, mas ta marcado. e ja debuguei ja fiz o
>>>> diabo e
>>>> > nao entendo pq somente esse checkbox fica assim, alguem tem alguma
>>>> luz ???
>>>> > --
>>>> > *Hélio Antonio Francisco Silva*
>>>> > Desenvolvedor web
>>>> > Certificado Flash developer
>>>> > Certificado Flash Design
>>>> > Certificado web developer
>>>> > Consultor Microsiga / Totvs
>>>> > Desenvolvedor ADVPL / ASP
>>>> > Analista de sistemas e ERP Sênior.
>>>>
>>>> --
>>>> 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
>>>
>>>
>>>
>>>
>>> --
>>> *Hélio Antonio Francisco Silva*
>>> Desenvolvedor web
>>> Certificado Flash developer
>>> Certificado Flash Design
>>> Certificado web developer
>>> Consultor Microsiga / Totvs
>>> Desenvolvedor ADVPL / ASP
>>> Analista de sistemas e ERP Sênior.
>>>
>>>
>>
>>
>> --
>> *Hélio Antonio Francisco Silva*
>> Desenvolvedor web
>> Certificado Flash developer
>> Certificado Flash Design
>> Certificado web developer
>> Consultor Microsiga / Totvs
>> Desenvolvedor ADVPL / ASP
>> Analista de sistemas e ERP Sênior.
>>
>>
>
>
> --
> *Hélio Antonio Francisco Silva*
> Desenvolvedor web
> Certificado Flash developer
> Certificado Flash Design
> Certificado web developer
> Consultor Microsiga / Totvs
> Desenvolvedor ADVPL / ASP
> Analista de sistemas e ERP Sênior.
>
> --
> 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ê 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