tags:

views:

753

answers:

2

Is it possible to have a Button object in a column in an AdvancedDataGrid object in flex 4? And how would I do this?

+1  A: 

You can do it in flex 3, so it should be possible in flex 4 too. Here is how to do it in flex 3, modify it for spark.

<mx:AdvancedDataGrid id="ad" creationComplete="create();">
    <mx:columns>
     <mx:AdvancedDataGridColumn dataField="text"/>
     <mx:AdvancedDataGridColumn>
      <mx:itemRenderer>
       <mx:Component>
        <mx:Button label="{data.buttonLabel}" 
            click="{outerDocument.onClick(data)}"/>
       </mx:Component>
      </mx:itemRenderer>
     </mx:AdvancedDataGridColumn>
    </mx:columns>
</mx:AdvancedDataGrid>

script:

public function create():void
{
    var array:Array = [{text:"Text1", buttonLabel:"Bt1"},
              {text:"Text2", buttonLabel:"Bt2"}]
    ad.dataProvider = new ArrayCollection(array);
}
public function onClick(item:Object):void
{
    trace(item.text);
}
Amarghosh