Вы можете сделать это в flex 3, поэтому это должно быть возможно и в flex 4. Вот как это сделать в flex 3, изменить его для 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>
Сценарий:
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);
}