Sorry if this comes through twice. Instead of using the creationComplete and dataChange events, add this to the itemRenderer's script:
override public function set data(value:Object):void { super.data = value; if ( value != null ) checkEmail(); } -TH --- In flexcoders@yahoogroups.com, "kshah0...@..." <kshah0...@...> wrote: > > I tried it but no luck: > > Here is the code: > > <?xml version="1.0" encoding="utf-8"?> > <mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="100%" > creationComplete="checkEmail()" dataChange="checkEmail()"> > <mx:states> > <mx:State name="redo"> > <mx:RemoveChild target="{emailButton}"/> > <mx:SetProperty target="{butt}" > name="width" value="70"/> > > </mx:State> > <mx:State name="undo"> > <mx:RemoveChild target="{reemailButton}"/> > <mx:SetProperty target="{butt}" > name="width" value="70"/> > </mx:State> > </mx:states> > > <mx:Script> > <![CDATA[ > import mx.rpc.events.ResultEvent; > import mx.controls.Alert; > > private function checkEmail():void > { > if(data != null && data.STATUS != null && data.STATUS.length > 0 && data.STATUS == 'V') > { > > reemailButton.visible = true; > currentState='redo'; > } > else if(data.STATUS == 'O') > { > emailButton.visible = true; > currentState='undo'; > } > > else > emailButton.visible = false; > > > > > trace("email: " + data.STATUS + " : " + emailButton.visible); > } > public function sendMail():void > { > //var u:URLRequest = new URLRequest("mailto:" + data.email); > //navigateToURL(u,"_self"); > userLogin.send(); > //Alert.show("mailto: " + data.email); > } > > public function sendMail2():void > { > //var u:URLRequest = new URLRequest("mailto:" + data.email); > //navigateToURL(u,"_self"); > userLogin2.send(); > //Alert.show("mailto: " + data.email); > } > > [Bindable] > private var loginResult:String; > > public function getLoginResult(event:ResultEvent):void{ > loginResult = event.result.toString(); > Alert.show(loginResult); > //parentDocument.genericlist.removeAll(); > // parentDocument.xmlforGrid.send(); > } > > > [Bindable] > private var loginResult9:String; > > public function getLoginResult9(event:ResultEvent):void{ > loginResult9 = event.result.toString(); > Alert.show(loginResult9); > // parentDocument.genericlist.removeAll(); > // parentDocument.xmlforGrid.send(); > > } > ]]> > </mx:Script> > > --- In flexcoders@yahoogroups.com, Jeffry Houser jeff@ wrote: > > > > > > Implement the onDataChange event in your itemRenderer . > > > > kshah0097@ wrote: > > > I have a external Itemrenderer that I am using in a Datagrid. Everytime I search the datagrid by filterfunction, the itemrenderer does not refresh or displays out of order. > > > > > > Any ideas on how I can prevent this from happening? > > > > > > > > > > > > > > > > > > ------------------------------------ > > > > > > -- > > > Flexcoders Mailing List > > > FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt > > > Alternative FAQ location: https://share.acrobat.com/adc/document.do?docid=942dbdc8-e469-446f-b4cf-\ 1e62079f6847 > > > Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.comYahoo! Groups Links > > > > > > > > > > > > > > > > > > > -- > > Jeffry Houser, Technical Entrepreneur > > Adobe Community Expert: http://tinyurl.com/684b5h > > http://www.twitter.com/reboog711 | Phone: 203-379-0773 > > -- > > Easy to use Interface Components for Flex Developers > > http://www.flextras.com?c=104 > > -- > > http://www.theflexshow.com > > http://www.jeffryhouser.com > > -- > > Part of the DotComIt Brain Trust > > >