У меня есть редактируемая сетка и вы хотите обновить значения на основе отредактированной ячейки, и я делаю это в itemEditEndHandler
, так что когда они закончат редактирование ячейки, я обновляю другие ячейки, которые зависят от нее. единственная проблема в itemEditEndHandler
новое значение еще не зарегистрировано. Если я попытаюсь получить значение ячейки, я нахожу, что она все еще дает мне старое значение, а не новое значение, которое я ввел.Какой обработчик событий я могу использовать для захвата новых значений, которые были изменены в гибком datagrid.
0
A
ответ
0
Если в вашем datagrid используется dataProvider, который является ArrayCollection, вы можете вызвать его метод refresh() в обработчике, вызванном событием изменения itemEditor, а затем вызвать метод invalidateList() метода dataGrid.
2
Слушайте collectionChange событие на dataProvider
DataGrid.
ListCollectionView
объекты, то есть объекты ArrayCollection и XMLListCollection, отправляют событие CollectionEvent.COLLECTION_CHANGE всякий раз, когда в коллекции происходит изменение. Убедитесь, что объект отправлен CollectionEventKind.UPDATE
, это значит, что один или несколько элементов были обновлены. В массиве событий items будут сохранены обновленные элементы.
0
Использование gridItemEditorSessionSave
<s:DataGrid gridItemEditorSessionSave="dataGrid_gridItemEditorSessionSaveHandler(event)" >
...
...
...
</s:DataGrid>
и в ActionScript
protected function dataGrid_gridItemEditorSessionSaveHandler(event:GridItemEditorEvent):void
{
Alert.show("Edited");
}
Спасибо. Я также пытаюсь получить доступ к определенным значениям в ячейке, используя ListCollectionView (dgViewPreview.dataProvider) .getItemAt (rowIndex) [Поле данных], но не возвращает правильные значения, есть ли другой способ. Я использую это в itemeditendhandler. – Linda