Makes sense. Do you have an example of a send result handler? New to  
me. Is there an event generated by the send result that I can catch?

cheers, ethan
> 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/
 



Reply via email to