Janderson,
      Para saber mais sobre o ciclo de vida dos componentes:
             http://www.adobe.com/support/documentation/en/flex/ =>
Creating and Extending Adobe Flex 3 Components
             http://www.flexmania.com.br/gravacoes.php => Criando e
estendendo componentes para o Flex 3 (minha palestra)

[]s
Fabio da Silva
http://fabiophx.blogspot.com/

On 1 fev, 17:52, Janderson <[email protected]> wrote:
> é galera, essa é mais uma história de um programador que está tendo
> problemas com itemrenderer nos datagrids, só que o meu problema é
> diferente da grande maioria, não está ligado ao problema de dados
> quando se tem o scroll do mouse, muito menos por ser itemrenderer e
> itemeditor, meu problema está ao meu ver na serialização do
> componente, vou explicar melhor:
>
> Tenho um itemrenderer que é dinamico, como assim? vou mostrar o
> override set data:
>
> override public function set data(value:Object):void{
>                                 super.data = XML(value);
>
>                                 this.removeAllChildren();
>                                 var comp:String = da...@comp;
>                                 switch (comp){
>                                         case "checkbox":
>                                                 componente = new CheckBox();
>                                                 var selected:Boolean = 
> (da...@value == "true");
>                                                 CheckBox(componente).selected 
> = selected;
>                                                 this.addChild(componente);
>                                                 
> componente.addEventListener(Event.CHANGE,onChange);
>                                                 break;
>                                         case "combobox":
>                                                 componente = new ComboBox();
>                                                 
> ComboBox(componente).dataProvider = XMLList(data.subprop)
>                                                 ComboBox(componente).width = 
> this.width;
>                                                 ComboBox(componente).height = 
> this.height;
>                                                 this.addChild(componente);
>                                                 for (var i:int = 0; i < 
> XMLList(data.subprop).length(); i++){
>                                                         if 
> (data.subprop[...@value == da...@value){
>                                                                 
> ComboBox(componente).selectedIndex = int(Number(data.subprop
> [...@index));
>                                                         }
>                                                 }
>                                                 
> componente.addEventListener(Event.CHANGE,onChange);
>                                                 break;
>                                         case "numeric":
>                                                 componente = new 
> NumericStepper();
>                                                 
> NumericStepper(componente).value = Number(da...@value);
>                                                 
> NumericStepper(componente).maximum = Number
> (da...@max);
>                                                 
> NumericStepper(componente).minimum = Number
> (da...@min);
>                                                 
> NumericStepper(componente).width = this.width;
>                                                 
> NumericStepper(componente).height = this.height;
>                                                 this.addChild(componente);
>                                                 
> componente.addEventListener(Event.CHANGE,onChange);
>                                                 
> componente.addEventListener(FlexEvent.ENTER,onEnter);
>                                                 break;
>                                         case "campo":
>                                                 componente = new 
> TextInputImage();
>                                                 
> TextInputImage(componente).text = da...@value;
>                                                 
> TextInputImage(componente).width = this.width;
>                                                 
> TextInputImage(componente).height = this.height;
>                                                 this.addChild(componente);
>                                                 
> componente.addEventListener(Event.CHANGE,onChange);
>                                                 
> componente.addEventListener("clickImage",onClickCampo);
>                                                 break;
>                                         case "lista":
>                                                 componente = new 
> TextInputImage();
>                                                 
> TextInputImage(componente).text = da...@value;
>                                                 
> TextInputImage(componente).width = this.width;
>                                                 
> TextInputImage(componente).height = this.height;
>                                                 this.addChild(componente);
>                                                 
> componente.addEventListener(Event.CHANGE,onChange);
>                                                 
> componente.addEventListener("clickImage",onClickLista);
>                                                 break;
>                                         case "color":
>                                                 componente = new 
> TextInputColor();
>                                                 
> TextInputColor(componente).text = da...@value;
>                                                 
> TextInputColor(componente).width = this.width;
>                                                 
> TextInputColor(componente).height = this.height;
>                                                 this.addChild(componente);
>                                                 
> componente.addEventListener(Event.CHANGE,onChange);
>                                                 break;
>                                         case "formato":
>                                                 componente = new 
> TextInputImage();
>                                                 
> TextInputImage(componente).text = da...@value;
>                                                 
> TextInputImage(componente).width = this.width;
>                                                 
> TextInputImage(componente).height = this.height;
>                                                 this.addChild(componente);
>                                                 
> componente.addEventListener(Event.CHANGE,onChange);
>                                                 
> componente.addEventListener("clickImage",onClickFormato);
>                                                 break;
>                                         default:
>                                                 componente = new TextInput();
>                                                 TextInput(componente).text = 
> da...@value;
>                                                 TextInput(componente).width = 
> this.width;
>                                                 TextInput(componente).height 
> = this.height;
>                                                 this.addChild(componente);
>                                                 
> componente.addEventListener(FlexEvent.ENTER,onEnter);
>                                                 componente.addEventListener
> (FlexEvent.VALUE_COMMIT,onDataChange);
>                                                 break;
>                                 }
>                                 valor = da...@value;
>
>                         }
>
> entenderam? dependendo do valor que vem de um xml meu itemrenderer
> terá um componente específico, tenho um campo, que o evento click
> dispara informando qual xml usar, na primeira vez que o itemrenderer é
> criado vem todo estranho, alguns campos aparecem, outros não, porém se
> eu clicar em outro campo e voltar para esse fica show e nunca mais dá
> esse bug, como se a segunda vez o componente está em memória e ele já
> carrega direito, sei lá, muito estranho, então resolvi compartilhar o
> meu problema e gostaria de saber se alguém já passou por isso ou tem
> alguma sugestão?
>
> Cumps.

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

Responder a