é 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 flexdev@googlegroups.com Para sair da lista, envie um email em branco para flexdev-unsubscr...@googlegroups.com Mais opções estão disponíveis em http://groups.google.com/group/flexdev