我有一个可编辑的网格,并希望根据已编辑的单元格更新值,我在itemEditEndHandler
中这样做,这样当他们完成编辑单元格时,我会更新依赖于它的其他单元格。唯一的问题是itemEditEndHandler
新值尚未注册。如果我尝试获取单元格的值,我发现它仍然给我旧值而不是我输入的新值。
答案 0 :(得分:2)
在DataGrid的dataProvider
上收听collectionChange事件。
ListCollectionView
个对象(即ArrayCollection和XMLListCollection对象)就会调度CollectionEvent.COLLECTION_CHANGE事件。检查调度事件的kind属性 - 如果是CollectionEventKind.UPDATE
,则表示已更新一个或多个项目。事件的items数组将保存更新的项目。
答案 1 :(得分:0)
如果你的datagrid使用的是一个ArrayCollection的dataProvider,你可以在itemEditor的change事件触发的处理程序中调用它的refresh()方法,然后调用dataGrid的invalidateList()方法。
答案 2 :(得分:0)
使用 gridItemEditorSessionSave
<s:DataGrid gridItemEditorSessionSave="dataGrid_gridItemEditorSessionSaveHandler(event)" >
...
...
...
</s:DataGrid>
并在actionscript中
protected function dataGrid_gridItemEditorSessionSaveHandler(event:GridItemEditorEvent):void
{
Alert.show("Edited");
}