Derrick,
Thanks again, and once again, you have led me to another question.
I'm aware of using the bindable metatag, and also am using the
binding.utils.bindProperty method to handle some other bindings I
need manually, but I'm now wondering if i can do the following: Can
I create an Object, and as I create properties on that Object, tell
the property to be bindable, in ActionScript. I'm assuming the
metatag tells the compiler to create the necessary watchers, but it
would be really nice if that were a property I could set while I'm
dynamically creating properties of an Object...something like:
var myObj:Object = new Object();
myObj.publisher = '';
myObj.publisher.bindable=true;
Using the binding.utils.bindProperty method works great when I know
exactly the two locations between which I want to share data, but it
isn't as nice as creating a typed class within an ArrayCollection as
bindable that you can easily fit into (and broadcast changes to) a
datagrid.
>
> A typed value object is basically an object that matches to some
data
> entity you are working with. You create a class to define the
entity,
> give it properites (that are bindable) and then put instances of
that
> class into the ArrayCollection instead of non descript Objects
>
> ie
>
> class BookVO {
> [Bindable]
> public var title: String;
>
> [Bindable]
> public var author: String;
>
> [Bindable]
> public var ISBN: String;
>
> public function BookVO():void {
>
> }
> }
>
> ... and then loop through the results from the webservice and for
each
> item, create a new BookVO, fill in the properties and add that to
the
> ArrayCollection. I imagine you are probably currently doing
something
> similiar to
>
> var book = new Object();
> book.author = xmlNode.ItemAttributes.author;
> book.title = xmlNode.ItemAttributes.title;
> book.ISBN = xmlNode.ItemAttributes.ISBN;
>
> This is certainly very easy to start with, but in the long run
causes
> more headaches for a variety of reasons.
>
> By using typed objects with bindable properties, it leverages the
Flex
> components awareness of changes in those objects, basically the
> components listen to the objects for changes, which means you don't
> have to manually refresh things when changes happen.
>
> Derrick Grigg
> -------------
> www.dgrigg.com
>
> --- In [email protected], "livinginswitzerland"
> <rickgeorge@> wrote:
> >
> > Thanks Derrick...
> >
> > I had tried invalidateDisplay list, but not invalidateList..which
did
> > it. interesting. when you say typed value objects...can you
elaborate
> > on that? I am doing some 'non standard' things, and all of my
data is
> > read into an ArrayCollection via a web service, but i'm not using
XML
> > but text instead. Curious if what you are saying regarding typed
value
> > objects is something i'm bumping up against.
> >
> > thanks again!
> >
> > -rick
> >
> > --- In [email protected], "Derrick Grigg" <dgrigg@>
wrote:
> > >
> > > I think you can use the 'invalidateDisplayList()' or possibly
> > > the 'invalidateList()' to refresh your datagrid.
> > >
> > > Alternatively, if you use typed value objects in the
dataProvider any
> > > changes to those, should automatically be reflected (and
viewed) in
> > > the DataGrid if you are using databinding.
> > >
> > > Derrick Grigg
> > > --------
> > > www.dgrigg.com
> > >
> >
>
--
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/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/flexcoders/join
(Yahoo! ID required)
<*> To change settings via email:
mailto:[EMAIL PROTECTED]
mailto:[EMAIL PROTECTED]
<*> 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/