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