2011-03-29 57 views
0

dataChange事件这是我的代码:监听在AdvancedDataGrid

<controls:AdvancedDataGrid id="adg" dataChange="adg_dataChangeHandler(event)"> 
     <!-- other stuff goes here --> 
</controls:AdvancedDataGrid> 

,并在我的ActionScript代码:

protected function adg_dataChangeHandler(event:FlexEvent):void 
{ 
    trace(1); 
} 

当我编辑advancedDataGrid细胞(使编辑过程中的列)它从不发送事件。换句话说,我的功能从未被调用。我怎样才能解决这个问题?

+0

您是否尝试过添加事件监听到的dataProvider COLLECTION_CHANGE事件? – 2011-03-30 16:19:12

回答

1

我认为我的方案更好的选择是使用一个itemEditor,它有一个监听器放在change事件上。代码如下所示:

<controls:AdvancedDataGrid id="adg"> 
    <controls:groupedColumns> 
     <adgs:AdvancedDataGridColumn headerText="A" wordWrap="true" dataField="name" editable="false" itemEditor="Aaa"/> 
    </controls:groupedColumns> 
</controls:AdvancedDataGrid> 

和项目编辑类是在这里:

<?xml version="1.0" encoding="utf-8"?> 
<mx:TextInput xmlns:fx="http://ns.adobe.com/mxml/2009" 
       xmlns:s="library://ns.adobe.com/flex/spark" 
       xmlns:mx="library://ns.adobe.com/flex/mx" change="textinput1_changeHandler(event)" restrict="0-9"> 

    <fx:Script> 
     <![CDATA[ 
      protected function textinput1_changeHandler(event:Event):void 
      { 
       trace("ha"); 
      } 
     ]]> 
    </fx:Script> 

</mx:TextInput>