Ethan, I don't think it's your typing, I think it's your timing. Looks like you're flipping your postTyper() when the combobox is changed, but that's not firing a new send() like the original blogger example did. Try changing your code so that changing the combobox triggers the send() and the send result="" handler triggers the postTyper(). That way you'll have the correct data in lastResult when you change your blogResult variable. That change should then be noticed by the bindings.
Darren >From: Ethan Miller <[EMAIL PROTECTED]> >Reply-To: [email protected] >To: [email protected] >Subject: [flexcoders] Variable Type for Web Service Result >Date: Wed, 23 Aug 2006 16:13:19 -0700 > >Greetings - > >Expanding on the "Connecting to Web Services" tutorial, I added a >combo box for switching between methods of the API to the Adobe blog >aggregator, ie from getMostPopularPosts to search. > >As both methods return the same columns, the data grid displaying the >result can stay the same, other than needing a different value for >data provider, ie: > > myWebService.getMostPopularPosts.lastResult >vs > myWebService.search.lastResult > >I was hoping therefore to bind the dataGrid dataProvider value to a >variable which I'd set when users change the value of the comboBox >(which selects which method to use). However I think I'm typing the >variable which stores the value of the service result wrong, as I get >null whenever I try and set the value (blogResult), show below: > ><?xml version="1.0" encoding="utf-8"?> ><mx:Application > xmlns:mx="http://www.adobe.com/2006/mxml" > layout="absolute"> > ><mx:Script> > <![CDATA[ > > [Bindable] > public var blogResult:Object = null; > > public function postTyper(event:Event):void{ > if (event.currentTarget.selectedItem.data == "popular"){ > postTypeVS.selectedIndex=1; > blogResult = > blogAggrWS.getMostPopularPosts.lastResult; > trace (blogResult); > } > else{ > postTypeVS.selectedIndex=0; > blogResult = blogAggrWS.search.lastResult; > trace (blogResult); > } > } > ]]> ></mx:Script> > > <mx:WebService id="blogAggrWS" > wsdl="http://weblogs.macromedia.com/mxna/webservices/mxna2.cfc? >wsdl" > useProxy="false"> > > <mx:operation name="getMostPopularPosts"> > <mx:request> > <daysBack>{daysBackCB.value}</daysBack> > <limit>{numPostsCB.value}</limit> > </mx:request> > </mx:operation> > > <mx:operation name="search"> > <mx:request> > <offset>0</offset> > <limit>50</limit> > <searchTerms>{postKeywords.text}</searchTerms> > <sortBy>relevance</sortBy> > <languageIds>1</languageIds> > </mx:request> > </mx:operation> > > <mx:operation name="getLanguages"> > <mx:request/> > </mx:operation> > > </mx:WebService> > > <mx:Panel > width="850" height="400" > layout="absolute" > horizontalCenter="0" verticalCenter="0" > title="Adobe Blogs Post Finder"> > > <mx:HBox horizontalCenter="0" top="20" verticalAlign="middle"> > > <mx:Label text="Get:"/> > > <mx:ComboBox id="whatPostsCB" > change="postTyper(event)"> > <mx:Object label="Posts By Keyword" > data="search" /> > <mx:Object label="Most Popular Posts" > data="popular" /> > </mx:ComboBox> > > <mx:ViewStack id="postTypeVS" width="400"> > > <mx:HBox verticalAlign="middle"> > <mx:TextInput id="postKeywords" > text=""/> > <mx:Button label="Search" > click="blogAggrWS.search.send()"/> > </mx:HBox> > > <mx:HBox verticalAlign="middle" width="372" > > creationComplete="blogAggrWS.getMostPopularPosts.send()"> > > <mx:Spacer width="10"/> > > <mx:Label text="Show:"/> > <mx:ComboBox id="numPostsCB" > > change="blogAggrWS.getMostPopularPosts.send()"> > <mx:Object label="Top 5 Posts" > data="5" /> > <mx:Object label="Top 10 Posts" > data="10" /> > <mx:Object label="Top 15 Posts" > data="15" /> > </mx:ComboBox> > > <mx:Spacer width="10"/> > > <mx:Label text="In Last:"/> > <mx:ComboBox id="daysBackCB" > > change="blogAggrWS.getMostPopularPosts.send()"> > <mx:Object label="30 Days" > data="30" /> > <mx:Object label="60 Days" > data="60" /> > <mx:Object label="90 Days" > data="90" /> > </mx:ComboBox> > > </mx:HBox> > > </mx:ViewStack> > > </mx:HBox> > > <mx:DataGrid left="20" right="20" top="62" bottom="20" > id="keyPostsDG" > dataProvider="{blogResult}"> > <mx:columns> > <mx:DataGridColumn headerText="Post Title" > textAlign="left"> > <mx:itemRenderer> > <mx:Component> > <mx:LinkButton > label="{data.postTitle}" > > click="navigateToURL(new URLRequest(data.postLink))" > color="blue"/> > </mx:Component> > </mx:itemRenderer> > </mx:DataGridColumn> > <mx:DataGridColumn headerText="Clicks" > dataField="clicks" >width="50" textAlign="right"/> > <mx:DataGridColumn headerText="Post Excerpt" >dataField="postExcerpt" wordWrap="true"/> > </mx:columns> > </mx:DataGrid> > > </mx:Panel> > ></mx:Application> > > > >-- >Flexcoders Mailing List >FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt >Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com >Yahoo! Groups Links > > > > > > > -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com Yahoo! Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/flexcoders/ <*> To unsubscribe from this group, send an email to: [EMAIL PROTECTED] <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/

