我正在使用Flex4 mx:Datagrid,并尝试动态添加行。
在我的数据网格中,给定时间有n行。最后一行包含文本“单击以添加行”,即当用户单击此单元格时,单元格变为可编辑,用户可以添加数据。一旦他/她按下Enter键,就会自动添加一个新行,最后一个单元格再次包含“Click to add row”文本。我已经能够通过在“itemEditEnd”事件上更新datagrid的dataprovider来管理它。
我想解决的问题如下: 通常,当用户编辑列中的任何单元格并按Enter键时,下一行中的单元格将自动变为可编辑状态。但是,因为在我的情况下,当用户按Enter键时我正在刷新数据提供者,因此最后一项不会变得可编辑。我尝试了以下变通方法,但没有一个工作:
我确信我在这里犯了一些愚蠢的错误,但找不到它。任何帮助都会非常感激。
谢谢, 卡皮尔
答案 0 :(得分:0)
我认为在创建新行或编辑行后,他总是可以编辑最后一行。您似乎没有刷新行的索引来设置可编辑。
答案 1 :(得分:0)
我找到了问题的解决方案。问题是“createItemEditor”的使用不正确。似乎正确的方法是使用“editedItemPosition”。修改此属性后,它会自动调度propertyChange事件。
所以,当我设置以下内容时,不是使用“createItemEditor”,那么事情就完全正常了:)
divisionNamesGrid.editedItemPosition = {columnIndex: cIndex, rowIndex: rIndex};
谢谢, 卡皮尔