在AdvancedDataGrid中侦听dataChange事件

时间:2011-03-29 10:37:16

标签: flex4 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中编辑单元格时(当然可以使列可编辑),它永远不会调度事件。或者,换句话说,我的函数永远不会被调用。我该如何解决这个问题?

1 个答案:

答案 0 :(得分: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>