How can I add a button control in cells of a datagrid? I'm looking to have a button in each row of one column in the datagrid. The datagrid control rows don't need to be selectable in any way.
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
It's really quite simple. Just define a custom item renderer for the column
<mx:DataGrid width="100%" height="100%" dataProvider="{this.someData}">
<mx:columns>
<mx:DataGridColumn headerText="Buttons" >
<mx:itemRenderer>
<fx:Component>
<s:ItemRenderer width="100%">
<s:Button label="{data.buttonName}" click="{outerDocument.someFunction()}" />
</s:ItemRenderer>
</fx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
</mx:columns>
</mx:DataGrid>
use data
to refer to the row's dataprovider object and outerDocument
to access methods outside of the item renderer.
Hope this helps!
回答2:
To do this with Flex 4 controls - ie. Spark use a GridItemRenderer.
There are very good examples here: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/spark/components/gridClasses/GridItemRenderer.html#includeExamplesSummary