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 -~----------~----~----~----~------~----~------~--~---