Changes to the masterArray in the ModelLocator should be 
automatically reflected in the AC if you use either of the binding 
methods I posted.  If not, sorry.  That's all I have.

-TH

--- In [email protected], "Tom Bray" <[EMAIL PROTECTED]> wrote:
>
> The problem is that changes to ModelLocator.getInstance
().masterArray don't
> update the views' dataProviders.  In other words, the 
ArrayCollections that
> use masterArray as their source don't know when new items are 
added to or
> removed from masterArray.  That's why I was thinking that 
masterArray would
> actually be masterArrayCollection and I'd bind each of the view's
> dataProvider ACs to it so they could stay in sync.  I bound the 
master AC to
> the sub ACs using BindingUtils and was surprised to see the filter 
function
> on the sub ACs affect the master AC.  I posted sample code here:
> http://groups.yahoo.com/group/flexcoders/message/39064?l=1
> 
> Thanks again!
> 
> -Tom
> 
> On 6/9/06, Tim Hoff <[EMAIL PROTECTED]> wrote:
> >
> >
> > Something like this should do the trick:
> >
> > <mx:Script>
> > <![CDATA[
> >
> > import mx.collections.ArrayCollection;
> > import org.ets.main.code.model.ModelLocator;
> >
> > [Bindable]
> > public var viewDataProvider : ArrayCollection;
> > viewDataProvider=new
> > ArrayCollection({ModelLocator.getInstance().masterArray});
> >
> > ]]>
> > </mx:Script>
> >
> > -TH
> >
> >
> > --- In [email protected] <flexcoders%
40yahoogroups.com>, "Tom
> > Bray" <tombray@> wrote:
> > >
> > > Thanks, Tim. That makes sense but there's one limitation I'm 
not sure
> > how
> > > to work around. That master Array of users is going to be 
constantly
> > updated
> > > by the server to show who's currenlty online. Since an Array 
isn't
> > > bindable, how would you propagate changes from that Array to 
the
> > filtered
> > > ArrayCollections that use it as their source?
> > >
> > > -Tom
> > >
> > > On 6/9/06, Tim Hoff TimHoff@ wrote:
> > > >
> > > > Hey Tom,
> > > >
> > > > In response to this question and the BindingUtils and
> > > > ArrayCollection.filter question, I offer this suggestion. In 
the
> > > > ModelLocator maintain a single master Array of all the 
users. Then
> > > > in each instance of your view components, create a new bound
> > > > ArrayCollection (dataProvider), with the master Array as the
> > > > underlying source. Each of the ArrayCollections will have a
> > > > different filterFunction based on the type of view component 
that is
> > > > instantiated. Because the ArrayCollections don't actually 
contain
> > > > any data, just pointers to the underlying Array, I would 
handle the
> > > > ArrayCollections and filterFunctions in viewHelpers. In a 
sense,
> > > > you would be creating separate sub-sets of the master Array 
in each
> > > > instance of your views. If you preferred, you could maintain 
each
> > > > ArrayCollection (Array of ArrayCollections) in the 
ModelLocator as
> > > > well.
> > > >
> > > > I hope that this makes sense,
> > > > Tim Hoff
> > > >
> > > >
> > > > --- In [email protected] <flexcoders%
40yahoogroups.com><flexcoders%40yahoogroups.com>,
> >
> > "Tom
> > > > Bray" tombray@ wrote:
> > > > >
> > > > > Say my model has an ArrayCollection of all the users that 
are
> > > > > connected to my Flex app. I then have configurable list 
views that
> > > > > display different subsets of that collection based on 
different
> > > > user
> > > > > properties (gender, age, location, etc.). Multiple views, 
multiple
> > > > > filters, all being fed from the same master 
ArrayCollection of all
> > > > > connected users. I even want the user to be able to 
dynamically
> > > > > create new views with different filters.
> > > > >
> > > > > Unless there's something I'm missing, each view is going 
to need
> > > > its
> > > > > very own ArrayCollection that has its own filter function 
set up.
> > > > I'm
> > > > > picturing a wrapper class that provides addFilter() and
> > > > removeFilter()
> > > > > methods so that the AC's filter function can traverse an 
array of
> > > > > other filters -- kind of a CompoundCommand pattern.
> > > > >
> > > > > Assuming that's part of the correct approach, I want my 
master AC
> > > > to
> > > > > pump changes out to the filtering ACs which pump changes 
out to
> > the
> > > > > views. Is there a way to make the binding mechanism work 
for this?
> > > > > Is there a simpler approach I'm overlooking?
> > > > >
> > > > > Any tips you can send my way would be greatly appreciated.
> > > > >
> > > > > Thanks,
> > > > >
> > > > > Tom
> > > > >
> > > >
> > > >
> > > >
> > >
> >
> >  
> >
>






------------------------ Yahoo! Groups Sponsor --------------------~--> 
Protect your PC from spy ware with award winning anti spy technology. It's free.
http://us.click.yahoo.com/97bhrC/LGxNAA/yQLSAA/nhFolB/TM
--------------------------------------------------------------------~-> 

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