Problemas com Item Renderers ou Item Editors?

Não é de hoje eu venho falando que trabalhar com itemRenderer/Editor não é fácil. Como você pode ver aqui, aqui e aqui existe uma dúvida recorrente de Flex. Na ultima vez que esta dúvida surgiu veio a minha cabeça a idéia de responder de uma maneira inusitada. O objetivo é fazer com que as pessoas não fiquem indiferentes a este post, e se eu for bem sucedido talvez este post se torne referência quando tal dúvida surgir novamente.

Este post foi originalmente publicado na FlexDev. Espero que eu possa estar ensinando algo com o texto a seguir, mas espero também que você dê boas gargalhadas enquanto lê.

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):

Exemplo que não funciona

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 observar o valor dos objetos eu percebi que eles não estavam sendo atualizados conforme eu marcava o CheckBox. É como se o CheckBox não estivesse mudando o valor da propriedade do objeto correspondente.”

Não se desespere!

Estes são casos comuns. Mas veja como o super “editorDataField” pode resolver o seu problema.

Caso Real (exemplo que funciona):

Exemplo que funciona

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.