Change vs Click in the Flex 3 DataGrid
April 18th, 2008
(related to a tip I found, but for Flex 3 and my own memory…)
In Flex3 you can be notified of changes to selections in your datagrid from using listeners to either the ‘click’ or ‘change’ events, the difference being that if you only listen for click events you won’t be notified when the user navigates or selects with the keyboard (obvious, but confused me for a bit). This seems a shame given Flex’s pretty good handling of keyboard navigation, so unless you only want mouse click events use a ‘change’ handler as standard.
Using a Click Handler:
<mx:DataGrid id="DG1" click="clickHandler(event)"/> <mx:Script> public function clickHandler(event:MouseEvent):void { someControl.text = event.currentTarget.selectedItem.someDataField; } </mx:Script>
Using a Change Handler:
<mx:DataGrid id="DG2" change="changeHandler(event)"/> <mx:Script> public function changeHandler(event:Event):void { someControl.text = event.target.selectedItem.someDataField; } </mx:Script>
I found this comment in the best moment. Thank you so much!