2009-09-07 49 views
5

我有一個DataGrid,itemEditorNumericStepper在幾列中。當編輯DataGrid中的值時,我想更新屏幕上顯示的幾個值,因此想調用updateValues()函數。itemEditEnd事件之前從itemEditor提交新值

首先,我添加了這個功能itemEditEnd事件DataGrid的,但新的值更新到dataProvider,因此,我在函數的值是舊值之前的函數獲取調用。在將值更新到dataProvider之後是否還有其他事件被觸發?或者我錯過了什麼?其次,我試着把這個函數放在每個itemEditor(duh!)的變化事件中,但是再次發生變化事件,但是dataProvider中的值是舊的。

有沒有什麼辦法可以使函數updateValues()被調用,每次值被編輯和更新到dataProvider,因爲我從哪裏取值?

非常感謝。

回答

6

「在您的事件監聽器中,您可以檢查輸入到項目編輯器中的數據。如果數據不正確,可以調用preventDefault()方法停止Flex將新數據傳遞迴列表 - 基於計算機的控制和關閉編輯器。「 (source

所以是的,它會在數據提供者獲得數據之前調用。

以下是您應該閱讀的文章:Detecting Datagrid Edits。他談論所有相同的東西。事件優先級是票據。 Flex方式過於複雜。乾杯。

+0

謝謝格倫,我會檢查鏈接並回來:) – 2009-09-07 09:36:04

+0

我該怎麼辦「你可以檢查輸入到項目編輯器中的數據」部分..可能是我可以通過這種方式獲得我想要的值? – 2009-09-07 09:37:03

+0

在第一個鏈接的「訪問單元格數據和事件監聽器中的項目編輯器」部分,查看「getCellInfo」函數。 – Glenn 2009-09-07 10:01:37