Вы, вероятно, поступили правильно, но таблица данных не очень хорошо обрабатывает щелчок и двойной щелчок, для этого можно использовать обходной путь:
сначала свойства сетки данных:
<s:DataGrid
dataProvider="{lista}"
click="click(event)"
doubleClickEnabled="true"
doubleClick="doubleClick(event)">
, тогда обработчик щелчка запускает таймер, и, если таймер успешно завершает событие одиночного щелчка, отправляется, в противном случае, если вы дважды щелкнете по таймеру, остановится и вы обработаете событие двойного щелчка ...
лучше, чем все остальное ...
// A timer used to check if is a single or doubleclick
private var t:Timer;
protected function click(event:MouseEvent):void
{ // on single click you start a timer, the dalay
// is 500 but you can set what you prefer
t = new Timer(500,1);
t.addEventListener(TimerEvent.TIMER_COMPLETE, singleClick);
t.start();
}
protected function singleClick(e:TimerEvent):void
{
// if the timer complete correctly this method is called and
// here you manage the single click event
t.removeEventListener(TimerEvent.TIMER_COMPLETE,singleClick);
trace("single click");
}
protected function doubleClick(event:MouseEvent):void
{
// on double click you remove the timer event listener and you stop it if it's running
// here you manage the double click event...
t.removeEventListener(TimerEvent.TIMER_COMPLETE,singleClick);
if (t.running)
t.stop();
trace("double click");
}
Надеюсь, это поможет ...