触发itemEditor中的itemEditEnd事件

时间:2010-09-29 03:27:56

标签: flex datagrid itemeditor

对于DataGrid专家来说,这可能很容易。我按照一个示例,从一行

动态地向DataGrid添加行

http://www.switchonthecode.com/tutorials/adding-dynamic-rows-to-flex-datagrid

我正在尝试使用的调整是拥有一个自定义itemEditor,它是一个带有两个TextInputs和一个OK按钮的表单。对于我的生活,我无法触发DataGrid的itemEditEnd事件,我在调用destroyItemEditor之前进行了一些处理。我尝试直接调度事件,但在DataGrid的updateDisplayList中遇到一个奇怪的错误,说editItemPosition为null(editedItemPosition.rowIndex)。有什么想法吗?

2 个答案:

答案 0 :(得分:3)

我想出了“呃”的答案。基本上,在itemEditor中使用listData.owner获取对DataGrid的引用,然后设置DataGrid的editedItemPosition和selectedIndex。这种方式让组件担心清理itemEditor。

var grid:DataGrid = listData.owner as DataGrid;
grid.editedItemPosition = null;
grid.selectedIndex = -1;

答案 1 :(得分:0)

单击项目编辑器外部时将触发

itemEditEnd。如果您自己发送,则需要在调度前将rowIndex property of the event设置为适当的值。