2010-10-11 4 views
0

У меня есть редактируемая сетка и вы хотите обновить значения на основе отредактированной ячейки, и я делаю это в itemEditEndHandler, так что когда они закончат редактирование ячейки, я обновляю другие ячейки, которые зависят от нее. единственная проблема в itemEditEndHandler новое значение еще не зарегистрировано. Если я попытаюсь получить значение ячейки, я нахожу, что она все еще дает мне старое значение, а не новое значение, которое я ввел.Какой обработчик событий я могу использовать для захвата новых значений, которые были изменены в гибком datagrid.

ответ

0

Если в вашем datagrid используется dataProvider, который является ArrayCollection, вы можете вызвать его метод refresh() в обработчике, вызванном событием изменения itemEditor, а затем вызвать метод invalidateList() метода dataGrid.

+0

Спасибо. Я также пытаюсь получить доступ к определенным значениям в ячейке, используя ListCollectionView (dgViewPreview.dataProvider) .getItemAt (rowIndex) [Поле данных], но не возвращает правильные значения, есть ли другой способ. Я использую это в itemeditendhandler. – Linda

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"); 
      } 

 Смежные вопросы

  • Нет связанных вопросов^_^