é 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

Responder a