I was recently testing 0.8.0 FlexJS nightly build, and I must say binding is
more responsive here than 0.7.0 version. I was testing by the example
project 'DataGridExample', and my interest was to see if data binding is
working in grid item renderer as well. Is this doable with present nightly
build?

My testing requirement was simple, changing any row of item's property at
runtime and see it's effect in dataGrid row. I tried to modify codes in
DataGridExample project per my understanding, to see if a runtime change to
the Product (model object) object can apply changes to DataGrid row. The
example also shown usage of DataItemRenderer. But I couldn't able to
implement the requirement I had. 

I modified the Product model object to this:

> package products
> {
>       import org.apache.flex.events.Event;
>       import org.apache.flex.events.EventDispatcher;
>       
>       [Bindable] public class Product extends EventDispatcher
>       {
>               public function
> Product(id:String,title:String,detail:Number,sales:Number,image:String)
>               {
>                       this.id = id;
>                       this.title = title;
>                       this.detail = detail;
>                       this.sales = sales;
>                       this.image = image;
>               }
>               
>               public var id:String;
>               public var title:String;
>               public var detail:Number;
>               public var sales:Number;
>               
>               private var _image:String;
>               
>               public function toString():String
>               {
>                       return title;
>               }
>               
>               [Bindable(event="propertyChange")]
>               public function get image():String
>               {
>                       return _image;
>               }
>               
>               public function set image(value:String):void
>               {
>                       if (value != _image)
>                       {
>                               _image = value;
>                               dispatchEvent(new Event("propertyChange"));
>                       }
>               }
>       }
> }

At runtime upon a button click I tried to modify an item row in
/MyInitialView.mxml/ as this:

> private function onButtonClicked():void
> {
>       ProductsModel(applicationModel).productList.source[1].image =
> "assets/smallorangerect.jpg";
> }

I tit-bit tried to dispatch event upon change here and there too, but that
didn't effect DataGrid UI change, get/set method in DataItemRenderer also
not being called. 

Is there any way in current nightly build that we can meet the above
requirement?

Thanks.



--
View this message in context: 
http://apache-flex-development.2333347.n4.nabble.com/FlexJX-Falcon-Binding-support-fixes-improvements-tp54632p56813.html
Sent from the Apache Flex Development mailing list archive at Nabble.com.

Reply via email to