Sorry didn't spot that.

I have tried that way, and it doesn't seem to work.  The behaviour I'm
seeing is:

Assign collection to dataprovider = no event firing.
Update dataprovider directly = event fires, but there's a null object
somewhere.

I'm stumped, a workaround I can see is to loop through the results of
my web service and add a tab manually for each row.

The web service in debug mode does seem to be returning the correct
data, and if I try and add objects directly to the dataprovider it
errors on the first one, so I think the data returned from the web
service is correct.

Thanks,

Tim.

--- In flexcoders@yahoogroups.com, Carolyn Cole <[EMAIL PROTECTED]> wrote:
>
> Hi!
> 
> The difference between your code and mine was that I set a temp
variable, 
> made all the changes on the temp, and then assigned the temp to the
bound 
> variable.
> 
> I don't know why, but assigning the changed temp variable seemed to
react 
> differently than changing the actual bound variable.
> 
> I'm not sure why excecuteBindings did not work for you.  It almost
always 
> worked for me.
> 
> Are you sure you are getting data back from your service?
> 
> 
> -- Carolyn
> 
> At 12:58 PM 3/8/2006, you wrote:
> >Thanks for that.  executeBindings() didn't work though, it just didn't
> >seem to fire the event. :-(
> >
> >My original mail below has me doing:
> >
> > > >     private function populateCategoryList(event : ResultEvent)
: void
> > > >     {
> > > >       tabsDataProvider = new ArrayCollection();
> > > >       var lResults : ArrayCollection = new
> > > ArrayCollection(event.result);
> > > >       var lIndex:int;
> > > >       for (lIndex = 0; lIndex < lResults.length; lIndex++)
> > > >       {
> > > >         tabsDataProvider.addItem(lResults.getItemAt(lIndex));
> > > >       }
> > > >     }
> >
> >which I think is the same as your other suggestion.  This gives me a
> >null error.
> >
> >Any more ideas appreciated, or is this a bug?
> >
> >ta,
> >
> >Tim.
> >
> >--- In flexcoders@yahoogroups.com, Carolyn Cole <cam156@> wrote:
> > >
> > > Hi!
> > >
> > > I know this may not be the "right" way, but you can call
> > > myCategories.executeBindings()
> > >          or
> > > I found if I made a new Object added the data to that and then
set the
> > > bound object to that:
> > >         var tmpArray = new ArrayCollection();
> > >         var lResults : ArrayCollection = new
> > >         ArrayCollection(event.result);
> > >         var lIndex:int;
> > >         for (lIndex = 0; lIndex < lResults.length; lIndex++)
> > >         {
> > >           tmpArray.addItem(lResults.getItemAt(lIndex));
> > >         }
> > >                tabsDataProvider = tmpArray;
> > > I'm not sure if the above will work some times it did, other times I
> >had to
> > > call executeBindings.
> > >
> > > -- Carolyn
> > >
> > > At 11:24 AM 3/8/2006, you wrote:
> > > >Interesting.
> > > >
> > > >This code:
> > > >
> > > >       tabsDataProvider = new ArrayCollection(event.result);
> > > >       var lCollectionEvent : CollectionEvent = new
CollectionEvent();
> > > >       lCollectionEvent.kind = CollectionEventKind.REFRESH;
> > > >       tabsDataProvider.dispatchEvent(lCollectionEvent);
> > > >
> > > >causes the same
> > > >
> > > >TypeError: Error #1009: null has no properties.
> > > >       at
mx.core::Repeater/mx.core:Repeater::getIndexForFirstChild()
> > > >       at mx.core::Repeater/mx.core:Repeater::recreate()
> > > >       at mx.core::Repeater/mx.core:Repeater::execute()
> > > >       at mx.core::Repeater/mx.core:Repeater::sort()
> > > >       at
> >mx.core::Repeater/mx.core:Repeater::collectionChangedHandler()
> > > >
> > > >as before.
> > > >
> > > >Tim.
> > > >
> > > >--- In flexcoders@yahoogroups.com, "Tim Sawyer" <lists@> wrote:
> > > > >
> > > > > Good plan, but I think I need to be more specific with the
> >event.  I get
> > > > >
> > > > > Error: Repeater.collectionChangedHandler: unhandled
collectionEvent
> > > > > kind, 500
> > > > >       at
> > > > >
> > >
> >
>mx.core::Repeater/mx.core:Repeater::collectionChangedHandler()[C:\dev\bet

> > a1\sdk\frameworks\mx\core\Repeater.as:1000]
> > > > >       at flash.events::EventDispatcher/dispatchEvent()
> > > > >       at
> > > > >
> > >
> >
>mx.collections::ListCollectionView/dispatchEvent()[C:\dev\beta1\sdk\frame

> > works\mx\collections\ListCollectionView.as:701]
> > > > >       at
> > > > >
> > >
> >
>components::DashBoardTabList/components:DashBoardTabList::populateCategor

> >
yList()[C:\dev\HEAD\PRODUCT\websites\MisDashboard\dev\components\DashBoardTabList.mxml:27]
> > > > >       at
> > > > >
> > >
> >
>()[C:\dev\HEAD\PRODUCT\websites\MisDashboard\dev\services\category\FetchC

> > ategoryList.as:24]
> > > > >       at flash.events::EventDispatcher/dispatchEvent()
> > > > >       at
> > > > >
> > >
> >
>mx.rpc::AbstractService/dispatchEvent()[C:\dev\enterprise_beta1\framework

> > s\mx\rpc\AbstractService.as:144]
> > > > >       at
> > > > >
> > >
> >
>mx.rpc::AbstractOperation/<<http://www.macromedia.com/2005/flex/mx/intern

> >
al::dispatchRpcEvent()[C:\dev\enterprise_beta1\frameworks\mx\rpc\AbstractOperation.as:162]>http://www.macromedia.com/2005/flex/mx/internal::dispatchRpcEvent()[C:\dev\enterprise_beta1\frameworks\mx\rpc\AbstractOperation.as:162]>http://www.macromedia.com/2005/flex/mx/internal::dispatchRpcEvent()[C:\dev\enterprise_beta1\frameworks\mx\rpc\AbstractOperation.as:162]
> > > > >       at
> > > > >
> > >
> >
>mx.rpc::AbstractInvoker/<<http://www.macromedia.com/2005/flex/mx/internal

> >
::resultHandler()[C:\dev\enterprise_beta1\frameworks\mx\rpc\AbstractInvoker.as:175]>http://www.macromedia.com/2005/flex/mx/internal::resultHandler()[C:\dev\enterprise_beta1\frameworks\mx\rpc\AbstractInvoker.as:175]>http://www.macromedia.com/2005/flex/mx/internal::resultHandler()[C:\dev\enterprise_beta1\frameworks\mx\rpc\AbstractInvoker.as:175]
> > > > >       at flash.events::EventDispatcher/dispatchEvent()
> > > > >       at
> > > > >
> > >
> >
>mx.rpc::Producer/acknowledge()[C:\dev\enterprise_beta1\frameworks\mx\rpc\

> > Producer.as:69]
> > > > >       at
> > > > >
> > >
> >
>C:\dev\enterprise_beta1\frameworks\libs\framework.swc(mx/validators/Valid

> >
ator)$132::DirectHTTPMessageResponder/completeHandler()[C:\dev\enterprise_beta1\frameworks\mx\messaging\channels\DirectHTTPChannel.as:277]
> > > > >       at flash.events::EventDispatcher/dispatchEvent()
> > > > >       at flash.net::URLLoader/flash.net:URLLoader::onComplete()
> > > > >
> > > > > Tim.
> > > > >
> > > > > --- In flexcoders@yahoogroups.com, "Geoffrey Williams" <yahoo@>
> >wrote:
> > > > > >
> > > > > > Try:
> > > > > >
> > > > > > tabsDataProvider = new ArrayCollection(event.result);
> > > > > > tabsDataProvider.dispatchEvent (new CollectionEvent ());
> > > > > >
> > > > > > -----Original Message-----
> > > > > > From: flexcoders@yahoogroups.com
> > > >[mailto:[EMAIL PROTECTED] On
> > > > > > Behalf Of Tim Sawyer
> > > > > > Sent: Wednesday, March 08, 2006 7:25 AM
> > > > > > To: flexcoders@yahoogroups.com
> > > > > > Subject: [flexcoders] Repeater and Web Services (Flex 2b1)
> > > > > >
> > > > > > I'm having a problem trying to get a set of tabs generated
> >from a web
> > > > > > service.  Full code for my component is pasted at the end
of the
> > > > > message.
> > > > > >
> > > > > > The problem is down to getting the results from the web
> >service and
> > > > > > getting the tabs to rebuild from that list.
> > > > > >
> > > > > > If I do:
> > > > > >
> > > > > > tabsDataProvider = new ArrayCollection(event.result);
> > > > > >
> > > > > > then the tabs aren't rebuilt, presumably because the Repeater
> >doesn't
> > > > > > notice the list has changed.
> > > > > >
> > > > > > If I add individual objects to the tabsDataProvider, which
is an
> > > > > > ArrayCollection, using a for loop (see code later) then the
> >event does
> > > > > > fire as expected and I get a runtime error:
> > > > > >
> > > > > > TypeError: Error #1009: null has no properties.
> > > > > >       at
> >mx.core::Repeater/mx.core:Repeater::getIndexForFirstChild()
> > > > > >       at mx.core::Repeater/mx.core:Repeater::recreate()
> > > > > >       at mx.core::Repeater/mx.core:Repeater::execute()
> > > > > >       at
> >mx.core::Repeater/mx.core:Repeater::collectionChangedHandler()
> > > > > >       at flash.events::EventDispatcher/dispatchEvent()
> > > > > >       at mx.collections::ListCollectionView/dispatchEvent()
> > > > > >       at
> > > > > >
> > > > >
> > >
> >
>mx.collections::ListCollectionView/mx.collections:ListCollectionView::addIte
> > > > > > msToView()
> > > > > >       at
> > > > > >
> > > > >
> > >
> >
>mx.collections::ListCollectionView/mx.collections:ListCollectionView::listCh
> > > > > > angeHandler()
> > > > > >       at flash.events::EventDispatcher/dispatchEvent()
> > > > > >       at
> > > > > >
> > > > >
> > >
> >
>mx.collections::ArrayList/mx.collections:ArrayList::internalDispatchEvent()
> > > > > >       at mx.collections::ArrayList/addItemAt()
> > > > > >       at mx.collections::ListCollectionView/addItemAt()
> > > > > >       at mx.collections::ListCollectionView/addItem()
> > > > > >       at
> > > > > >
> > > > >
> > >
> >
>components::DashBoardTabList/components:DashBoardTabList::populateCategoryLi
> > > > > > st()
> > > > > >       at MethodInfo-2275()
> > > > > >       at flash.events::EventDispatcher/dispatchEvent()
> > > > > >       at mx.rpc::AbstractService/dispatchEvent()
> > > > > >       at
> > > > > >
> > > > >
> > >
> >
>mx.rpc::AbstractOperation/<<http://www.macromedia.com/2005/flex/mx/intern

> >
al::d>http://www.macromedia.com/2005/flex/mx/internal::d>http://www.macromedia.com/2005/flex/mx/internal::d
> > > > > > ispatchRpcEvent()
> > > > > >       at
> > > > > >
> > > > >
> > >
> >
>mx.rpc::AbstractInvoker/<<http://www.macromedia.com/2005/flex/mx/internal

> >
::res>http://www.macromedia.com/2005/flex/mx/internal::res>http://www.macromedia.com/2005/flex/mx/internal::res
> > > > > > ultHandler()
> > > > > >       at flash.events::EventDispatcher/dispatchEvent()
> > > > > >       at mx.rpc::Producer/acknowledge()
> > > > > >       at
> > > > > >
> > > > >
> > >
> >
>C:\dev\enterprise_beta1\frameworks\libs\framework.swc(mx/validators/Validato
> > > > > > r)$132::DirectHTTPMessageResponder/completeHandler()
> > > > > >       at flash.events::EventDispatcher/dispatchEvent()
> > > > > >       at
flash.net::URLLoader/flash.net:URLLoader::onComplete()
> > > > > >
> > > > > > Can someone give me a pointer in the right direction?
> > > > > >
> > > > > > ta,
> > > > > >
> > > > > > Tim.
> > > > > >
> > > > > > Full component code:
> > > > > >
> > > > > > <?xml version="1.0" encoding="utf-8"?>
> > > > > > <mx:HBox
> > > >
>
>xmlns:mx="<<http://www.macromedia.com/2005/mxml>http://www.macromedia.com/2005/mxml>http://www.macromedia.com/2005/mxml";
> > > > > > xmlns:comp="components.*"
> > > >initialize="callWebServiceForCategoryList()">
> > > > > >   <mx:Script>
> > > > > >     <![CDATA[
> > > > > >
> > > > > >     import services.category.FetchCategoryList;
> > > > > >     import services.category.FetchCategoryListCallParameter;
> > > > > >     import mx.rpc.AbstractService;
> > > > > >     import mx.collections.ArrayCollection;
> > > > > >     import mx.rpc.events.ResultEvent;
> > > > > >     [Bindable] public var tabsDataProvider : ArrayCollection =
> >null;
> > > > > >
> > > > > >     private function callWebServiceForCategoryList():void
> > > > > >     {
> > > > > >       var lService : AbstractService =
> >FetchCategoryList.getService();
> > > > > >       var lCallParam : FetchCategoryListCallParameter = new
> > > > > > FetchCategoryListCallParameter();
> > > > > >       lCallParam.SecurityToken = "Blah";
> > > > > >       var lCall : Object =
lService.FetchCategoryList(lCallParam);
> > > > > >       lCall.resultHandler = this.populateCategoryList;
> > > > > >     }
> > > > > >
> > > > > >     private function populateCategoryList(event : ResultEvent)
> >: void
> > > > > >     {
> > > > > >       tabsDataProvider = new ArrayCollection();
> > > > > >       var lResults : ArrayCollection = new
> > > > > ArrayCollection(event.result);
> > > > > >       var lIndex:int;
> > > > > >       for (lIndex = 0; lIndex < lResults.length; lIndex++)
> > > > > >       {
> > > > > >         tabsDataProvider.addItem(lResults.getItemAt(lIndex));
> > > > > >       }
> > > > > >     }
> > > > > >     ]]>
> > > > > >   </mx:Script>
> > > > > >
> > > > > >
> > > > > >       <mx:TabNavigator width="100%" height="100%" >
> > > > > >             <mx:Canvas label="Home" width="100%"
height="100%">
> > > > > >                   <comp:FrontPage/>
> > > > > >             </mx:Canvas>
> > > > > >             <mx:Repeater id="myCategories"
> > > > > > dataProvider="{tabsDataProvider}"
> > > > > > startingIndex="0">
> > > > > >                <mx:Canvas
> >label="{myCategories.currentItem.Description}"
> > > > > > width="100%" height="100%" >
> > > > > >                         <comp:DashBoardPage/>
> > > > > >                   </mx:Canvas>
> > > > > >             </mx:Repeater>
> > > > > >
> > > > > >             <mx:Canvas label="Control Panel" width="100%"
> >height="100%"
> > > > > > >
> > > > > >                   <comp:AdminFrontPage/>
> > > > > >             </mx:Canvas>
> > > > > >       </mx:TabNavigator>
> > > > > > </mx:HBox>
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > >
> > > > > > --
> > > > > > Flexcoders Mailing List
> > > > > > FAQ:
> > > >
>
><<http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt>http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt>http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
> > > > > > Search Archives:
> > > > >
> > > >
>
><<http://www.mail-archive.com/flexcoders%40yahoogroups.com>http://www.mail-archive.com/flexcoders%40yahoogroups.com>http://www.mail-archive.com/flexcoders%40yahoogroups.com
> >
> > > >
> > > > > > Yahoo! Groups Links
> > > > > >
> > > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >--
> > > >Flexcoders Mailing List
> > > >FAQ:
> > >
> >
><<http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt>http:/

> >
/groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt>http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
> > > >Search Archives:
> > >
> >
><<http://www.mail-archive.com/flexcoders%40yahoogroups.com>http://www.mai

> >
l-archive.com/flexcoders%40yahoogroups.com>http://www.mail-archive.com/flexcoders%40yahoogroups.com
> >
> > > >
> > > >
> > > >
> > > >
> > > >SPONSORED LINKS
> > >
> >
><<http://groups.yahoo.com/gads?t=ms&k=Web+site+design+development&w1=Web+

> >
site+design+development&w2=Computer+software+development&w3=Software+design+and+development&w4=Macromedia+flex&w5=Software+development+best+practice&c=5&s=166&.sig=L-4QTvxB_quFDtMyhrQaHQ>http://groups.yahoo.com/gads?t=ms&k=Web+site+design+development&w1=Web+site+design+development&w2=Computer+software+development&w3=Software+design+and+development&w4=Macromedia+flex&w5=Software+development+best+practice&c=5&s=166&.sig=L-4QTvxB_quFDtMyhrQaHQ>Web
> >
> > > >site design development
> > >
> >
><<http://groups.yahoo.com/gads?t=ms&k=Computer+software+development&w1=We

> >
b+site+design+development&w2=Computer+software+development&w3=Software+design+and+development&w4=Macromedia+flex&w5=Software+development+best+practice&c=5&s=166&.sig=lvQjSRfQDfWudJSe1lLjHw>http://groups.yahoo.com/gads?t=ms&k=Computer+software+development&w1=Web+site+design+development&w2=Computer+software+development&w3=Software+design+and+development&w4=Macromedia+flex&w5=Software+development+best+practice&c=5&s=166&.sig=lvQjSRfQDfWudJSe1lLjHw>Computer
> >
> > > >software development
> > >
> >
><<http://groups.yahoo.com/gads?t=ms&k=Software+design+and+development&w1=

> >
Web+site+design+development&w2=Computer+software+development&w3=Software+design+and+development&w4=Macromedia+flex&w5=Software+development+best+practice&c=5&s=166&.sig=1pMBCdo3DsJbuU9AEmO1oQ>http://groups.yahoo.com/gads?t=ms&k=Software+design+and+development&w1=Web+site+design+development&w2=Computer+software+development&w3=Software+design+and+development&w4=Macromedia+flex&w5=Software+development+best+practice&c=5&s=166&.sig=1pMBCdo3DsJbuU9AEmO1oQ>Software
> >
> > > >design and development
> > >
> >
><<http://groups.yahoo.com/gads?t=ms&k=Macromedia+flex&w1=Web+site+design+

> >
development&w2=Computer+software+development&w3=Software+design+and+development&w4=Macromedia+flex&w5=Software+development+best+practice&c=5&s=166&.sig=OO6nPIrz7_EpZI36cYzBjw>http://groups.yahoo.com/gads?t=ms&k=Macromedia+flex&w1=Web+site+design+development&w2=Computer+software+development&w3=Software+design+and+development&w4=Macromedia+flex&w5=Software+development+best+practice&c=5&s=166&.sig=OO6nPIrz7_EpZI36cYzBjw>Macromedia
> >
> > > >flex
> > >
> >
><<http://groups.yahoo.com/gads?t=ms&k=Software+development+best+practice&;

> >
w1=Web+site+design+development&w2=Computer+software+development&w3=Software+design+and+development&w4=Macromedia+flex&w5=Software+development+best+practice&c=5&s=166&.sig=f89quyyulIDsnABLD6IXIw>http://groups.yahoo.com/gads?t=ms&k=Software+development+best+practice&w1=Web+site+design+development&w2=Computer+software+development&w3=Software+design+and+development&w4=Macromedia+flex&w5=Software+development+best+practice&c=5&s=166&.sig=f89quyyulIDsnABLD6IXIw>Software
> >
> > > >development best practice
> > > >
> > > >
> > > >----------
> > > >YAHOO! GROUPS LINKS
> > > >
> > > >    *  Visit your group
> > > > 
> >
"<<http://groups.yahoo.com/group/flexcoders>http://groups.yahoo.com/group/flexcoders>flexcoders"

> > on the web.
> > > >    *
> > > >    *  To unsubscribe from this group, send an email to:
> > > >    *
> > > >
>
><mailto:[EMAIL PROTECTED]>[EMAIL PROTECTED]
> >
> > > >
> > > >    *
> > > >    *  Your use of Yahoo! Groups is subject to the
> > > > 
> >
<<http://docs.yahoo.com/info/terms/>http://docs.yahoo.com/info/terms/>Yahoo!

> > Terms of Service.
> > > >
> > > >
> > > >----------
> > >
> >
> >
> >
> >
> >
> >
> >
> >
> >--
> >Flexcoders Mailing List
> >FAQ: 
>
><http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt>http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
> >Search Archives: 
>
><http://www.mail-archive.com/flexcoders%40yahoogroups.com>http://www.mail-archive.com/flexcoders%40yahoogroups.com

> >
> >
> >
> >
> >SPONSORED LINKS
>
><http://groups.yahoo.com/gads?t=ms&k=Web+site+design+development&w1=Web+site+design+development&w2=Computer+software+development&w3=Software+design+and+development&w4=Macromedia+flex&w5=Software+development+best+practice&c=5&s=166&.sig=L-4QTvxB_quFDtMyhrQaHQ>Web

> >site design development 
>
><http://groups.yahoo.com/gads?t=ms&k=Computer+software+development&w1=Web+site+design+development&w2=Computer+software+development&w3=Software+design+and+development&w4=Macromedia+flex&w5=Software+development+best+practice&c=5&s=166&.sig=lvQjSRfQDfWudJSe1lLjHw>Computer

> >software development 
>
><http://groups.yahoo.com/gads?t=ms&k=Software+design+and+development&w1=Web+site+design+development&w2=Computer+software+development&w3=Software+design+and+development&w4=Macromedia+flex&w5=Software+development+best+practice&c=5&s=166&.sig=1pMBCdo3DsJbuU9AEmO1oQ>Software

> >design and development
>
><http://groups.yahoo.com/gads?t=ms&k=Macromedia+flex&w1=Web+site+design+development&w2=Computer+software+development&w3=Software+design+and+development&w4=Macromedia+flex&w5=Software+development+best+practice&c=5&s=166&.sig=OO6nPIrz7_EpZI36cYzBjw>Macromedia

> >flex 
>
><http://groups.yahoo.com/gads?t=ms&k=Software+development+best+practice&w1=Web+site+design+development&w2=Computer+software+development&w3=Software+design+and+development&w4=Macromedia+flex&w5=Software+development+best+practice&c=5&s=166&.sig=f89quyyulIDsnABLD6IXIw>Software

> >development best practice
> >
> >
> >----------
> >YAHOO! GROUPS LINKS
> >
> >    *  Visit your group 
> > "<http://groups.yahoo.com/group/flexcoders>flexcoders" on the web.
> >    *
> >    *  To unsubscribe from this group, send an email to:
> >    * 
> >
<mailto:[EMAIL PROTECTED]>[EMAIL PROTECTED]

> >
> >    *
> >    *  Your use of Yahoo! Groups is subject to the 
> > <http://docs.yahoo.com/info/terms/>Yahoo! Terms of Service.
> >
> >
> >----------
>






--
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