Flex4 - 数据源数据更改后,重新刷新列表数据
作者:hangge | 2015-02-02 14:48
列表或表格绑定到一个数据源上,当数据源内的数据发生改变时,对应列表是不会同步更新数据的。
要想表格数据全部更新,或更新具体某一项,可进行如下操作:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx">
<fx:Script>
<![CDATA[
import mx.collections.ListCollectionView;
protected function refresh(event:MouseEvent):void
{
myData.getItemAt(1).text = "修改";
//单独更新某一条数据
ListCollectionView(list.dataProvider).itemUpdated(myData.getItemAt(1));
//跟新所有数据
ListCollectionView(list.dataProvider).refresh();
}
]]>
</fx:Script>
<fx:Declarations>
<s:ArrayCollection id="myData">
<fx:Object text="项目1"/>
<fx:Object text="项目2"/>
<fx:Object text="项目3"/>
</s:ArrayCollection>
</fx:Declarations>
<s:VGroup horizontalCenter="0" verticalCenter="0">
<s:List id="list" dataProvider="{myData}" labelField="text"/>
<s:Button label="刷新" click="refresh(event)"/>
</s:VGroup>
</s:Application>
效果图如下:

全部评论(0)