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