酷符网Flex > 正文

flex中DataGrid根据xml文件显示

2010-07-01 00:00codeif.com

使用HttpService获取xml数据,然后显示在DataGrid中去。可以看下面的例子:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="getData()" backgroundColor="#ffffff">
	<mx:Script>
		<![CDATA[
			import mx.collections.ICollectionView;
			import mx.binding.utils.BindingUtils;
			import mx.rpc.events.FaultEvent;
			import mx.rpc.events.ResultEvent;

			[Bindable]
			public var dp:ICollectionView = null;

			private function salesRPCResult(event:ResultEvent):void{
				dp = event.result.salesData.dailySales;
			}
			private function showFault(event:FaultEvent):void{
				trace(event.fault.faultCode+":"+event.fault.faultString);
			}
			private function getData():void{
				salesRPC.send();
			}

		]]>
	</mx:Script>
	<mx:HTTPService id="salesRPC"
		url="http://www.flexgrocer.com/rawSalesData.xml"
		result="salesRPCResult(event)"
		fault="showFault(event)" />
	<mx:DataGrid dataProvider="{dp}" width="100%" height="100%" />
</mx:Application>

在例子中dp公共变量的数据类型是ICollectionView并设为[Bindable],这样DataGrid可以在改属性值改变是更新其数据。
[Bindable]
public var dp:ICollectionView = null;
向属性传入值以前,会一直使用null值作为初始属性的初始状态。[Bindable]元数据标签用于通知编译器,本属性会被应用程序中另外的某处所监视。

相关文章

新浪微博 | 淘段子 | 我的博客 | 淘宝店铺 | jnan.org | RSS
Copyright © 2009 - 2011 酷符网