【发布时间】:2011-10-08 16:47:23
【问题描述】:
在版本 4 中有一个 Flex itemEditEnd(在 Datagrid 中)事件,但在 Flex 4.5 中不存在,itemEditEnd 这个事件被什么事件代替了?
【问题讨论】:
标签: apache-flex events flex4.5
在版本 4 中有一个 Flex itemEditEnd(在 Datagrid 中)事件,但在 Flex 4.5 中不存在,itemEditEnd 这个事件被什么事件代替了?
【问题讨论】:
标签: apache-flex events flex4.5
MX DataGrid 不应更改;根据文档,itemEditEnd 仍然存在。
但是,Flex 4.5 引入了DataGrid based on the Spark Architecture。这是一个全新的组件,与 MX DataGrid 有许多不同之处。
您可以将gridItemEditorSessionSave 事件视为备用。
【讨论】:
根据http://opensource.adobe.com/wiki/display/flexsdk/Data+Grid+Editing 我尝试使用:
override public function save():void
{
//data.dataField = value;
}
但我收到错误:“不兼容的覆盖”
你身边有什么成功吗?
FIX,将 void 更改为 Boolean,与 save() 相比,您可以执行与 MX DataGrid 中 itemEditEnd 中几乎相同的操作:
override public function save():Boolean
{
data.dataField = value;
return true; //to save data to dataprovider
}
例子:
<s:GridItemEditor>
<s:TextInput id="valueDisplay" width="100%"/>
<fx:Script>
<![CDATA[
override public function get value():Object
{
return valueDisplay.text;
}
override public function set value(newValue:Object):void
{
valueDisplay.text = newValue.toString();
}
override public function save():Boolean
{
data.dataField = value;
return true;
}
]]>
</fx:Script>
</s:GridItemEditor>
【讨论】: