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/internal::d ispatchRpcEvent() at mx.rpc::AbstractInvoker/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" 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 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/