我有一个AdvancedDataGrid,在某些列上可编辑设置为true。如果我编辑ADG中的一个值,该行将移动到包含我当前正在编辑的项目的节点/分支的底部。
我的AdvancedDataGrid是在ActionScript3中定义的,我使用分组集合对平面dataProvider进行分组。
我的问题是我经常要编辑一行的几个单元格,如果我编辑其中一个单元格然后单击其他位置,则该行会移动到ADG的底部。我怎么能避免这个?我希望该行保持选中并保持相同的索引。
答案 0 :(得分:0)
我想我有点想快速发布这个问题,但也许我的错误可以帮助别人。在创建编辑时,我不知道ArrayCollection的itemUpdate(object)方法,所以我删除了项目,更新了项目,然后再次将它添加到同一索引(下面的代码):
ac.removeItemAt(i);
ac.addItemAt(event.itemRenderer.data, i);
这与AdvancedDataGrid中的分层数据不兼容。在右侧索引中插入的内容将显示在ADG中当前分支的底部。通过使用以下代码,解决方案非常简单,该代码适用于GroupingCollection:
var field:String = event.dataField;
var obj:Object = event.itemRenderer.data;
//Update the field that was edited by the user
obj[field] = editedValue;
//update the object in the dataProvider
ressursTavle.itemUpdated(obj);