Orkut Gmail Agenda Docs Web mais »
Grupos visitados recentemente | Ajuda | Acessar
Página inicial dos Grupos do Google
Mensagem sobre o tópico A Velha história da DataGrid, ItemRenderer e RadioButton...
O grupo no qual você está postando é um grupo da Usenet. As mensagens postadas neste grupo farão com que o seu e-mail fique visível para qualquer pessoa na internet.
Sua resposta não foi enviada.
Postagem publicada
 
De:
Para:
Cc:
Encaminhar para
Adicionar Cc | Adicionar Encaminhar para | Editar Assunto
Assunto:
Validação:
Com o objetivo de verificação, digite os caracteres que você vê na figura abaixo ou os números que ouvir ao clicar no ícone de acessibilidade. Ouça e digite os números que ouvir
 
Beck Novaes  
Ver perfil   Traduzir para Traduzido (ver original)
 Mais opções 22 fev 2008, 20:57
De: Beck Novaes <beck.nov...@gmail.com>
Data: Fri, 22 Feb 2008 14:57:59 -0800 (PST)
Local: Sex 22 fev 2008 20:57
Assunto: Re: A Velha história da DataGrid, ItemRenderer e RadioButton...
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=cellrende...

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 <IPra...@gmail.com> 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.


    Encaminhar  
É necessário Acessar antes de postar mensagens.
Para postar uma mensagem você precisa primeiro participar deste grupo.
Atualize seu apelido na página de configurações da inscrição antes de postar.
Você não tem a permissão necessária para postar.

Criar um grupo - Grupos do Google - Página inicial do Google - Termos de Uso - Política de Privacidade
©2010 Google