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