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