Problemas com Item Renderers ou Item Editors? O seu Item Renderer/
Editor não mantêm o estado? O seu Item Renderer/Editor não muda o
valor do item da linha correspondente?

SEUS PROBLEMAS ACABARAM!
Ligue 011 1406 e peça já o "editorDataField".

O "editorDataField " é testado e aprovado pelos Laboratórios Adobe e
nós garantimos: Ele funciona!

Caso Real (exemplo que não funciona):
============================

<mx:DataGrid>
        <mx:dataProvider>
                <mx:Object col1="Col 1.1 Data" col2="Col 1.2 Data" 
selected="false"/
>
                <mx:Object col1="Col 2.1 Data" col2="Col 2.2 Data" 
selected="true"/>
                <mx:Object col1="Col 3.1 Data" col2="Col 3.2 Data" 
selected="false"/
>
                <mx:Object col1="Col 4.1 Data" col2="Col 4.2 Data" 
selected="false"/
>
                <mx:Object col1="Col 5.1 Data" col2="Col 5.2 Data" 
selected="false"/
>
                <mx:Object col1="Col 6.1 Data" col2="Col 6.2 Data" 
selected="false"/
>
                <mx:Object col1="Col 7.1 Data" col2="Col 7.2 Data" 
selected="false"/
>
                <mx:Object col1="Col 8.1 Data" col2="Col 8.2 Data" 
selected="false"/
>
        </mx:dataProvider>
        <mx:columns>
                <mx:DataGridColumn dataField="col1" headerText="Col 1"/>
                <mx:DataGridColumn dataField="col2" headerText="Col 2"/>
                <mx:DataGridColumn dataField="selected" headerText="Selected">
                        <mx:itemRenderer>
                                <mx:Component>
                                        <mx:CheckBox 
selected="{data.selected}"/>
                                </mx:Component>
                        </mx:itemRenderer>
                </mx:DataGridColumn>
        </mx:columns>
</mx:DataGrid>


Depoimento de um programador Flex:
===========================
"Eu desenvolvi o código acima, mas ao executá-lo, toda vez que eu
marco um CheckBox na ultima linha do DataGrid e faço scroll ele perde
o estado."

Outro programador:
==============
"Eu também já vi algo parecido, e ao ver o valor dos objetos eu
percebi que eles não estavam sendo atualizados conforme eu marcava o
CheckBox."


Não se preocupem. Estes são casos comuns. Mas veja como o super
"editorDataField" pode resolver o seu problema:


Caso Real (exemplo que funciona):
=========================
<mx:DataGrid editable="true">
        <mx:dataProvider>
                <mx:Object col1="Col 1.1 Data" col2="Col 1.2 Data" 
selected="false"/
>
                <mx:Object col1="Col 2.1 Data" col2="Col 2.2 Data" 
selected="true"/>
                <mx:Object col1="Col 3.1 Data" col2="Col 3.2 Data" 
selected="false"/
>
                <mx:Object col1="Col 4.1 Data" col2="Col 4.2 Data" 
selected="false"/
>
                <mx:Object col1="Col 5.1 Data" col2="Col 5.2 Data" 
selected="false"/
>
                <mx:Object col1="Col 6.1 Data" col2="Col 6.2 Data" 
selected="false"/
>
                <mx:Object col1="Col 7.1 Data" col2="Col 7.2 Data" 
selected="false"/
>
                <mx:Object col1="Col 8.1 Data" col2="Col 8.2 Data" 
selected="false"/
>
        </mx:dataProvider>
        <mx:columns>
                <mx:DataGridColumn dataField="col1" headerText="Col 1"
editable="false"/>
                <mx:DataGridColumn dataField="col2" headerText="Col 2"
editable="false"/>
                <mx:DataGridColumn dataField="selected" headerText="Selected"
                        rendererIsEditor="true" editorDataField="selected">
                        <mx:itemRenderer>
                                <mx:Component>
                                        <mx:CheckBox 
selected="{data.selected}"/>
                                </mx:Component>
                        </mx:itemRenderer>
                </mx:DataGridColumn>
        </mx:columns>
</mx:DataGrid>

Depoimento de um programador Flex:
===========================
"Incrível! Depois de usar o super ultra plus 'editorDataField' os meus
problemas acabaram. Agora eu posso fazer scroll a vontade e tudo
funciona perfeitamente".

Outro programador:
==============
"Depois de usar o 'editorDataField' a minha vida mudou completamente.
Agora os objetos são atualizados corretamente e eu não preciso ficar
trabalhando até mais tarde para resolver o meu problema. A minha
esposa ficou bastante feliz com isso".


O "editorDataField" age diretamente no problema porque ele permite
informar qual propriedade do "itemRenderer/editor" será usada para
atualizar o item (linha do DataGrid). Sem isso, a propriedade default
será usada e uma vez que a propriedade default é "text", se você
estiver usando um ComboBox, RadioButton ou CheckBox isso não vai
funcionar. Por isso, quando você usa um CheckBox, por exemplo, e diz
que o "editorDataField" é "selectedItem" o DataGrid pegará o valor
desta propriedade para atualizar a propriedade descrita pelo
"dataField" do seu DataGridColumn.

MAS NÃO É SÓ ISSO. Para usar o "editorDataField" com um "itemRenderer"
você deve usar também a propriedade "rendererIsEditor" do seu
"DataGridColumn".

MAS NÃO É SÓ ISSO. Para usar o "editorDataField" você precisa usar
também a propriedade "editable" do seu DataGrid.

MAS NÃO É SÓ ISSO. Uma vez que você provavelmente não vai querer que
todas as colunas sejam editáveis você deve usar também a propriedade
"editable" de cada DataGridColumn.


"editorDataField". Ligue para 011 1406 e peça já o seu!

ATENÇÃO: Consulte também o manual do fabricante:
http://livedocs.adobe.com/labs/flex3/html/help.html?content=cellrenderer_1.html


P.S.: Pessoal, desculpem a brincadeira, mas essa foi uma maneira que
eu encontrei (adicionando um toque de humor) de deixar isto na
"memória" das pessoas uma vez que este é um dos problemas mais
recorrentes do Flex que eu já vi até hoje.



On Feb 22, 4:40 pm, HideLine <[EMAIL PROTECTED]> wrote:
> Olá,
>
> Sempre que uso ItemRender em uma DataGrid com componentes de ação,
> tenho problemas em manter o estado, deste componente dentro da
> DataGrid.
>
> Ex:
>
> http://forum.flexbrasil.com.br/viewtopic.php?f=3&t=187
>
> Se alguém já achou uma solução, por favor post aki e lá para o
> rdaraujo!
>
> Obrigado.
--~--~---------~--~----~------------~-------~--~----~
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