Código:
<?xml version="1.0"?> <!-- DataGrid control example. --> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:Script> <![CDATA[ private function modificarTexto():void { textos.text+= dg.selectedItem.nombre + '\n' ; } ]]> </mx:Script> <mx:XMLList id="employees"> <employee> <name>Christina Coenraets</name> <phone>555-219-2270</phone> <email>[email protected]</email> <active>true</active> </employee> <employee> <name>Joanne Wall</name> <phone>555-219-2012</phone> <email>[email protected]</email> <active>true</active> </employee> <employee> <name>Maurice Smith</name> <phone>555-219-2012</phone> <email>[email protected]</email> <active>false</active> </employee> <employee> <name>Mary Jones</name> <phone>555-219-2000</phone> <email>[email protected]</email> <active>true</active> </employee> </mx:XMLList> <mx:DataGrid id="dg" width="100%" height="100%" rowCount="5" dataProvider="{employees}"> <mx:columns> <mx:DataGridColumn dataField="name" headerText="Name"/> <mx:DataGridColumn dataField="phone" headerText="Phone"/> <mx:DataGridColumn dataField="email" headerText="Email"/> <mx:DataGridColumn headerText="Agregar"> <mx:itemRenderer> <mx:Component> <mx:CheckBox label="Escoger" click="modificarTexto()"/> </mx:Component> </mx:itemRenderer> </mx:DataGridColumn> </mx:columns> </mx:DataGrid> <mx:TextArea id="textos"/> </mx:Application>
Con ese código se supone que al seleccionar un checkbox me haría escoger el item del datagrid, pero no es así, me marca error, diciendo:
1180: Call to a possibly undefined method modificarTexto. componentesComplejos/src componentesComplejos.mxml line 53 1208094605728 122
Lo cual para mí resulta extraño, quiere decir que los componentes rendereados dentro de otros componentes no pueden llamar otras funciones??
Obvio que cuando saco el checkbox del datagrid si funciona. Ojala hacerse de esta manera, sino la solución sería pasar el texto del datagrid a un campo de texto externo si usar el checkbox y agregarlo con un boton al textarea...
Saludos.