antes de mais nada obrigado pela ajuda! "puxa.. como é importante eu conhecer o ciclo de vida dos componentes" hehe foi o que passou em minha mente...
então, li o material que o fabiophx me indicou(muito obrigado ;) ) e tentei usar a dica da Gabriela tbm(obrigado) e realmente tem algo errado ou estou deixando de fazer, atualmente o que eu fiz, no commitProperties usei um callLater para chamar uma função minha, resumindo, funcionou mais lógico que não como eu quero que funcione, antes de perguntar vou ler de novo e com calma o material que me passaram, confesso que um material especifico de bons padrões para usar itemrenderer eu não achei, só algumas dicas, mas enfim... vamos estudar um pouco mais e tentar resolver esse problema de uma forma correta. Cumps On 2 fev, 08:56, fabiophx <[email protected]> wrote: > 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 Silvahttp://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 > > ... > > mais » -- 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
