我有一个DataGrid,itemEditor
为NumericStepper
几列。编辑DataGrid中的值时,我想更新屏幕上显示的几个值,因此想要调用updateValues()
函数。
首先,我将此函数添加到itemEditEnd
的{{1}}事件中,但在将新值更新为DataGrid
之前调用该函数,因此,我具有的值在函数中是旧值。将值更新到dataProvider
后是否还有其他事件被触发?或者我错过了什么?
其次,我尝试将此函数放在每个dataProvider
的更改事件中(duh!),但是再次触发了change事件,但itemEditor
中的值是旧的
每次编辑和更新dataProvider
值时,我是否可以调用函数updateValues()
,因为我从中获取值?
非常感谢。
答案 0 :(得分:6)
“在您的事件监听器中,您可以检查输入到项目编辑器中的数据。如果数据不正确,您可以调用preventDefault()方法来阻止Flex将新数据传递回基于列表的控件,关闭编辑。“ (source)
所以是的,它会在数据提供者拥有数据之前被调用。
以下是您应该阅读的内容:Detecting Datagrid Edits。他谈到了所有相同的事情。事件优先级是票。 Flex方式过于复杂。欢呼声。