Muito obrigado Rafael por ter entendido o espírito da brincadeira.
Sinceramente eu gostaria que as pessoas, além de aproveitar a
informação, dessem boas risadas com a explicação (se é que fui bem
sucedido no que diz respeito à didática). Quem disse que não podemos
nos divertir enquanto aprendemos? Infelizmente alguns não levaram por
esse lado:
http://forum.flexbrasil.com.br/viewtopic.php?f=3&t=187&start=0&st=0&sk=t&sd=a

[]'s
Beck Novaes

On 22 fev, 20:44, "Rafael D. Araujo" <[EMAIL PROTECTED]> wrote:
> Hehe, gostei da resposta.
> Cheguei a usar o editorDataField, mas descartei-o porque (acho) ele
> procurava a propriedade informada no editorDataField dentro do componente
> filho logo abaixo do mx:component, no meu caso dentro do VBox (e com isso
> dava um null por não achar a propriedade nele).
> Segunda-feira vou analisar melhor meu caso pra ver o que posso fazer.
>
> On 22/02/2008, Marcelo Savioli <[EMAIL PROTECTED]> wrote:
>
>
>
>
>
> > Hahahahaha... muito bom Beck.. muito bom!
>
> > On 2/22/08, Beck Novaes <[EMAIL PROTECTED]> wrote:
>
> > > 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 <[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.
>
> > > --
> > > Marcelo Curi Savioli
> > > D-Click Web & Mobile Solutions
> > > [EMAIL PROTECTED]
> > >www.dclick.com.br/blog
> > >www.dclick.com.br
>
> --
> Atenciosamente,
> Rafael D. Araujo
--~--~---------~--~----~------------~-------~--~----~
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 [EMAIL PROTECTED]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
-~----------~----~----~----~------~----~------~--~---

Responder a