Hay muchas formas de hacerlo.
Se podría utilizar un inline itemRenderer así:
<fx:Script>
public function myButton_clickHandler(event:Event):void
{
Alert.show("My button was clicked!");
}
</fx:Script>
<mx:DataGrid width="100%" height="95%" id="id_variableRefList" >
<mx:columns>
<mx:DataGridColumn id="id_name" dataField=""/>
<mx:DataGridColumn id="id_strip" dataField="">
<mx:itemRenderer>
<fx:Component>
<mx:VBox>
<mx:Button label="My Button" click="outerDocument.myButton_clickHandler(event);" />
</mx:VBox>
</fx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
</mx:columns>
</mx:DataGrid>
O bien, podría crear un custom component and set the itemRenderer
property del DataGridColumn
.
<mx:DataGrid width="100%" height="95%" id="id_variableRefList" >
<mx:columns>
<mx:DataGridColumn id="id_name" dataField=""/>
<mx:DataGridColumn id="id_strip" dataField="" itemRenderer="MyCustomItemRenderer"/>
</mx:columns>
</mx:DataGrid>
ACTUALIZACIÓN: para obtener el ID del botón que se ha hecho clic, se puede utilizar la propiedad currentTarget
del event
que se pasa a su eventListener
.
public function myButton_clickHandler(event:Event):void
{
Alert.show("Button " + Button(event.currentTarget).id + " was clicked!");
}
señor, quiero preguntar una cosa más. Cómo puedo generar eventos desde este botón que puse al costado de la cuadrícula de datos. y puedo manejarlo fuera de datagrird.i quiero cuando hago clic en este botón se produce un evento que quiero manejar desde la cuadrícula de datos ........... ??? –
@ali He actualizado mi respuesta para mostrar cómo se puede llamar a una función fuera del 'DataGrid' cuando se hace clic en el botón. Si mi respuesta ha ayudado a responder su pregunta, puede marcarla como la respuesta aceptada haciendo clic en la marca de verificación junto a mi respuesta. :) –
gracias alotttt :) –