0

編集可能なグリッドがあり、編集したセルに基づいて値を更新したいと考えてitemEditEndHandlerいます。セルの編集が終了すると、それに依存する他のセルを更新するようにしています。唯一の問題はitemEditEndHandler、新しい値がまだ登録されていないことです。セルの値を取得しようとすると、入力した新しい値ではなく、古い値がまだ返されていることがわかります。

4

3 に答える 3

2

DataGrid のcollectionChangeイベントをリッスンします。dataProvider

ListCollectionViewオブジェクト、つまり ArrayCollection および XMLListCollection オブジェクトは、コレクションに変更があるたびにCollectionEvent.COLLECTION_CHANGEイベントを送出します。ディスパッチされたイベントのkindプロパティを確認してください- である場合はCollectionEventKind.UPDATE、1 つ以上のアイテムが更新されたことを意味します。イベントの項目配列は、更新された項目を保持します。

于 2010-10-11T12:53:04.350 に答える
0

gridItemEditorSessionSaveを使用する

<s:DataGrid gridItemEditorSessionSave="dataGrid_gridItemEditorSessionSaveHandler(event)" >
...
...
...
</s:DataGrid>

そしてアクションスクリプトで

protected function dataGrid_gridItemEditorSessionSaveHandler(event:GridItemEditorEvent):void
            {
                Alert.show("Edited");
            }
于 2014-05-20T05:13:11.360 に答える
0

データグリッドが ArrayCollection である dataProvider を使用している場合、itemEditor の change イベントによってトリガーされるハンドラーでその refresh() メソッドを呼び出してから、dataGrid の invalidateList() メソッドを呼び出すことができます。

于 2010-10-11T12:28:34.760 に答える