Fábio,
Eu fiz o q vc falou, não deu certo não ... aparecia uma msg de erro dizendo
que não havia encontrado a propriedade text e que não havia um valor padrão
... eu criei a propriedade, mas não deu ... mas foi muito bom saber desse
super.data ... vai me ajudar em outra parte do projeto! Valeu!
Beck,
Por incresça que parível ... funcionou! E o pior foi que só funcionou por
causa do "data = data" ...
Desculpe a amolação, mas vc poderia indicar algum link que explique isso? Ou
se vc puder dar uma explicaçãozinha rápida ...
Eu nunca iria imaginar uma coisa dessas ... não sei pq, mas funcionou ...
Valeu, turma, e desculpem o incômodo!
Abraço!
Elvis Fernandes
2008/2/25 Beck Novaes <[EMAIL PROTECTED]>:
>
> Este é realmente um comportamente estranho. Mas nada que um Work
> Around com bons nomes de métodos não resolva:
>
> <mx:Component>
> <mx:HBox>
> <mx:Script>
> <![CDATA[
> [Bindable]
> public var status:Boolean;
>
> private function
> onClickHandler(event:MouseEvent):void
> {
> turnOn();
> }
>
> private function
> offClickHandler(event:MouseEvent):void
> {
> turnOff();
> }
>
> private function turnOn():void
> {
> status = data.show = true;
> updateButtonState();
> }
>
> private function turnOff():void
> {
> status = data.show = false;
> updateButtonState();
> }
>
> private function updateButtonState():void
> {
> data = data;
> }
> ]]>
> </mx:Script>
> <mx:Button label="On" enabled="{data.show}"
> click="onClickHandler(event)"/>
> <mx:Button label="Off" enabled="{data.show}"
> click="offClickHandler(event)"/>
> </mx:HBox>
> </mx:Component>
>
> []'s
> Beck Novaes
>
>
>
> On Feb 25, 9:21 am, "Elvis Fernandes" <[EMAIL PROTECTED]>
> wrote:
> > Imaginei que não ia conseguir explicar o problema sem o exemplo ... rs
> ...
> >
> > Logo abaixo está um exemplo simplificado. Percebi que sempre que usamos
> um
> > itemEditor num DataGrid, após a modificação do valor, ele só é
> "efetivado"
> > no objeto "data" quando o foco sai da linha do DataGrid ... esse é o meu
> > problema ... após clicar no botão, ele precisa automagicamente mudar o
> valor
> > de uma propriedade do objeto "data", que é o que define o status desse
> > próprio botão ...
> >
> > Pra resolver isso, eu mudo o foco para o próprio DG, aí ele atualiza o
> > "data" ... mas se eu clicar em um botão e logo em seguida clicar em
> outro
> > botão de outra linha, ele não atualiza o status do segundo botão clicado
> ...
> >
> > Se vocês puderem me indicar uma solução menos "POG", ficarei muito
> > agradecido! =)
> >
> > Valeu!!!!!!!!!!!!
> >
> > <mx:Canvas .............>
> >
> > <mx:Script>
> > <![CDATA[
> > public function _ligar():void {
> > //Alguma ação
> > meuDG.setFocus();
> > }
> >
> > public function _desligar():void {
> > //Alguma ação
> > }
> > ]]>
> > </mx:Script>
> >
> > <mx:Component id="botoesOpcoes">
> > <mx:HBox>
> > <mx:Script>
> > <![CDATA[
> > [Bindable]
> > public var status:Boolean;
> >
> > private function ligar():void {
> > status = true;
> > outerDocument._ligar();
> > }
> >
> > private function desligar():void {
> > outerDocument._desligar();
> > }
> > ]]>
> > </mx:Script>
> > <mx:Button id="btnLigar" enabled="{!data.mostrar}"
> label="Ligar"
> > click="{ligar()}"/>
> > <mx:Button id="btnDesligar" enabled="{!data.mostrar}"
> > label="Desligar" click="{desligar()}"/>
> > </mx:HBox>
> > </mx:Component>
> >
> > <mx:Canvas width="100%" height="100%">
> > <mx:DataGrid id="meuDG"
> > dataProvider="{dataProvider}"
> > editable="true">
> > <mx:columns>
> > <mx:AlgumasColunas ...... />
> > <mx:DataGridColumn headerText="Opções"
> dataField="mostrar"
> > itemRenderer="{botoesOpcoes}" editorDataField="status"
> > rendererIsEditor="true" />
> > </mx:columns>
> > </mx:DataGrid>
> > </mx:Canvas>
> > </mx:Canvas>
> >
> > 2008/2/25 Beck Novaes <[EMAIL PROTECTED]>:
> >
> >
> >
> > > Olá Elvis,
> >
> > > Será que você conseguiria isolar este comportamente num exemplinho
> > > simples?
> >
> > > []'s
> > > Beck Novaes
> >
> > > On Feb 24, 12:53 pm, Elvis Fernandes <[EMAIL PROTECTED]> wrote:
> > > > Olá, pessoal!
> >
> > > > Aproveitando a carona neste tópico, gostaria de pedir uma ajuda:
> >
> > > > Usando as dicas do Beck (editorDataField, editable p/ o DG, etc)
> > > > consegui criar meu itemEditor do jeito que eu precisava (valeu,
> > > > Beck!). Só que o problema é que, depois de atualizar o valor do
> objeto
> > > > "data", ele não é mostrado no DataGrid até que ele perca o foco...
> >
> > > > Eu pensei em mudar o foco para outro componente em uma função
> externa
> > > > ao itemRenderer que é chamada na minha aplicação (tenho um botão no
> > > > meu itemRenderer), mas gostaria de saber se não existe uma solução
> > > > menos "POG" pra isso ...
> >
> > > > Tentei usar dg.invalidateDisplayList e outras coisas do tipo, mas
> não
> > > > deu (sem dúvida tentei fazer qquer besteira ...).
> >
> > > > Valeu!!!!!
> >
> > > > Elvis Fernandes
> >
> > > > On 23 fev, 02:40, Beck Novaes <[EMAIL PROTECTED]> wrote:
> >
> > > > > 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?
> >
> > > > > []'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.2Data"
> > > > > > > > selected="false"/
> >
> > > > > > > > <mx:Object col1="Col 2.1 Data" col2="Col
> 2.2Data"
> > > > > > > > selected="true"/>
> > > > > > > > <mx:Object col1="Col 3.1 Data" col2="Col
> 3.2Data"
> > > > > > > > selected="false"/
> >
> > > > > > > > <mx:Object col1="Col 4.1 Data" col2="Col
> 4.2Data"
> > > > > > > > selected="false"/
> >
> > > > > > > > <mx:Object col1="Col 5.1 Data" col2="Col
> 5.2Data"
> > > > > > > > selected="false"/
> >
> > > > > > > > <mx:Object col1="Col 6.1 Data" col2="Col
> 6.2Data"
> > > > > > > > selected="false"/
> >
> > > > > > > > <mx:Object col1="Col 7.1 Data" col2="Col
> 7.2Data"
> > > > > > > > selected="false"/
> >
> > > > > > > > <mx:Object col1="Col 8.1 Data" col2="Col
> 8.2Data"
> > > > > > > > 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.2Data"
> > > > > > > > selected="false"/
> >
> > > > > > > > <mx:Object col1="Col 2.1 Data" col2="Col
> 2.2Data"
> > > > > > > > selected="true"/>
> > > > > > > > <mx:Object col1="Col 3.1 Data" col2="Col
> 3.2Data"
> > > > > > > > selected="false"/
> >
> > > > > > > > <mx:Object col1="Col 4.1 Data" col2="Col
> 4.2Data"
> > > > > > > > selected="false"/
> >
> > > > > > > > <mx:Object col1="Col 5.1 Data" col2="Col
> 5.2Data"
> > > > > > > > selected="false"/
> >
> > > > > > > > <mx:Object col1="Col 6.1 Data" col2="Col
> 6.2Data"
> > > > > > > > selected="false"/
> >
> > > > > > > > <mx:Object col1="Col 7.1 Data" col2="Col
> 7.2Data"
> > > > > > > > selected="false"/
> >
> > > > > > > > <mx:Object col1="Col 8.1 Data" col2="Col
> 8.2Data"
> > > > > > > > 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
> >
> > ...
> >
> > read more »
> >
>
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---