[flexcoders] Re: Can I force a redraw of my dataGrid?

2006-10-04 Thread livinginswitzerland
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 flexcoders@yahoogroups.com, 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 flexcoders@yahoogroups.com, 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/
 




[flexcoders] Re: Can I force a redraw of my dataGrid?

2006-10-04 Thread Derrick Grigg
I don't think you can add metadata like the bindable property at 
runtime, it has to be declared/defined in a class. Using the binding 
utils is a way to compensate for not having declared bindable 
properties. 

Personally I prefer to use VO's and bindable properties, overall a 
much cleaner solution than generic objects and the binding utils.

Derrick Grigg
-
www.dgrigg.com

--- In flexcoders@yahoogroups.com, livinginswitzerland 
[EMAIL PROTECTED] wrote:

 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 flexcoders@yahoogroups.com, 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 flexcoders@yahoogroups.com, 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/
 





[flexcoders] Re: Can I force a redraw of my dataGrid?

2006-10-03 Thread Derrick Grigg
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 flexcoders@yahoogroups.com, livinginswitzerland
[EMAIL PROTECTED] 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 flexcoders@yahoogroups.com, 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/
 




[flexcoders] Re: Can I force a redraw of my dataGrid?

2006-10-02 Thread Derrick Grigg
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/
 





[flexcoders] Re: Can I force a redraw of my dataGrid?

2006-10-02 Thread livinginswitzerland
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 flexcoders@yahoogroups.com, Derrick Grigg [EMAIL PROTECTED] 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/