Try adding people[0].transferList.refresh() after you add the name.
You need send out some sort of notification so that the DG knows to
re-render, since the inner AC isn't bound.

HTH,
Ben


--- In flexcoders@yahoogroups.com, "sam_apa" <[EMAIL PROTECTED]> wrote:
>
> Hi, I'm trying to get a DataGrid to show updates to a column populated
> by an ArrayCollection, which is one of the fields of the parent
> ArrayCollection.
> 
> But when I update the inner ArrayCollection the update doesn't show in
> the grid. What am I missing? It seems like the dataProvider binding in
> the example below only binds the DataGrid to changes in the outer
> collection, not the inner one.
> 
> So clicking on the button should add "Smith" to the second column of the
> first row, but it doesn't.
> 
> Code in question:
> 
> <?xml version="1.0" encoding="utf-8"?>
> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml";
> layout="absolute" initialize="init()">
>      <mx:VBox>
>          <mx:DataGrid id="personGrid" dataProvider="{people}"
> width="600">
>              <mx:columns>
>                  <mx:DataGridColumn dataField="name"/>
>                  <mx:DataGridColumn dataField="transferList" />
>              </mx:columns>
>          </mx:DataGrid>
> 
>          <mx:Button label="Add Item" click="addItem()"/>
> 
>      </mx:VBox>
> 
>      <mx:Script>
>          <![CDATA[
>              import mx.collections.ArrayCollection;
> 
>              [Bindable]
>              public var people:ArrayCollection;
> 
>              private function init():void
>              {
>                  var transferList:ArrayCollection = new
> ArrayCollection();
>                  transferList.addItem("Joe");
>                  transferList.addItem("Schmoe");
> 
>                  people = new ArrayCollection();
>                  people.addItem({name:'Person1', transferList:
> transferList});
>                  people.addItem({name:'Person2', transferList:
> transferList});
>              }
> 
>              private function addItem():void
>              {
>                  people[0].transferList.addItem("Smith");
>              }
>          ]]>
>      </mx:Script>
> </mx:Application>
>


Reply via email to