Bom dia Leonardo.
O que você quer fazer está explicado aqui:
Para mais referências consulte a documentação da adobe:
Basicamente funciona assim: Coloque a propriedade "doubleClickEnabled" como true (isso diz ao datagrid que você permite eventos de doubleclick). Então adicione os evento "itemClick" e "itemDoubleClick". ItemClick dispara um evento quando o item é clicado, doubleclick a mesma coisa. Acontece que você não quer permitir que seja editado com um click, certo? Então você usará o evento itemEditBegin para dizer que se for um clique unico, não deixa alterar.
Abaixo segue o código de exemplo, se não for isso que você quer, dá um toque ai. Abraços.
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
<fx:Script>
<![CDATA[
import mx.events.DataGridEvent;
import mx.events.ListEvent;
private var dblClickEditMode:Boolean;
[Bindable] private var dp:Array = [
{Artist:"Pink Floyd", Price:"11.99", Album:"The Wall"},
{Artist:"Pink Floyd", Price:"13.99", Album:"Animals"},
{Artist:"Squeeze", Price:"12.99", Album:"Singles: 45's and Under"},
{Artist:"Squeeze", Price:"10.99", Album:"Some Fantastic Place"},
]
protected function dgGrid_itemClick(event:ListEvent):void {
dblClickEditMode=false;
}
protected function dgGrid_itemDoubleClick(event:ListEvent):void {
dblClickEditMode=true;
}
protected function dgGrid_itemEditBegin(event:DataGridEvent):void {
if(!dblClickEditMode) event.preventDefault();
}
]]>
</fx:Script>
<mx:DataGrid id="dgGrid"
editable="true"
doubleClickEnabled="true"
itemClick="dgGrid_itemClick(event)"
itemDoubleClick="dgGrid_itemDoubleClick(event)"
itemEditBegin="dgGrid_itemEditBegin(event)"
dataProvider="{dp}">
<mx:columns>
<mx:DataGridColumn dataField="Album"/>
<mx:DataGridColumn dataField="Price"/>
</mx:columns>
</mx:DataGrid>
</s:Application> Pablo Rafaelo Si
E-mail / MSN:
pablo....@gmail.com