I have a DataGrid component that displays a few columns of data. It has one additional column that displays a Button that allows the user to take an action with regard to the record.
<mx:DataGrid dataProvider="{myData}">
<mx:columns>
<mx:DataGridColumn dataField="firstName" headerText="First Name"
width="75" />
<mx:DataGridColumn dataField="LastName" headerText=" Last Name"
width="150" />
<mx:DataGridColumn dataField="phone" headerText="Phone"
width="120" />
<mx:DataGridColumn headerText="" width="110">
<mx:itemRenderer>
<mx:Component>
<mx:Box horizontalAlign="center" width="100%">
<mx:Button label="Take Action" />
</mx:Box>
</mx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
</mx:columns>
</mx:DataGrid>
I need to perform an action in the parent component, using other data that is available there, but unrelated to the data in the DataGrid.
What is the best way to catch the Button click in the parent component, and know what record it corresponds to?
Should I use a Custom Event, or an itemEditor, or something else completely?
Thanks Joel. Here’s the final solution I came up with after reading that article (which I’ve read before). I want to add the item whose Button was clicked to an Array which is a property of another item, so I pass the “other item” into the DataGrid Component as a property, and perform actions against it in the function call from the itemRenderer: