当前位置: > > > Flex4 - 数据源数据更改后,重新刷新列表数据

Flex4 - 数据源数据更改后,重新刷新列表数据

列表或表格绑定到一个数据源上,当数据源内的数据发生改变时,对应列表是不会同步更新数据的。
要想表格数据全部更新,或更新具体某一项,可进行如下操作:
<?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