接下来这段时间,开始研究flex的DataGrid的组件。此组件实在太强大,是有事非常常用的组件。示例中DataGrid的数据源来自人民网的新闻rss。
先来看演示:
来看源代码:
- <?xml version="1.0" encoding="utf-8"?>
- <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="initApp()">
- <mx:Style>
- Application{fontSize:12;}
- </mx:Style>
- <mx:Script>
- <![CDATA[
- import mx.rpc.events.FaultEvent;
- import mx.collections.ArrayCollection;
- import mx.rpc.events.ResultEvent;
- [Bindable]
- private var homesForSale:ArrayCollection;
- private function initApp():void{
- this.srv.send();
- }
- internal function completeHandler(evt:ResultEvent):void{
- grid.dataProvider = evt.result.rss.channel.item;
- }
- internal function errorHandler(evt:FaultEvent):void{
- trace("error:"+evt.fault);
- }
- ]]>
- </mx:Script>
- <mx:HTTPService id="srv" url="http://www.people.com.com/rss/world.xml" result="completeHandler(event)" showBusyCursor="true" fault="errorHandler(event)" />
- <mx:DataGrid id="grid" width="500" height="400" >
- <mx:columns>
- <mx:DataGridColumn headerText="标题" dataField="title" />
- <mx:DataGridColumn headerText="链接" dataField="link" />
- <mx:DataGridColumn headerText="发布日期" dataField="pubDate" />
- </mx:columns>
- </mx:DataGrid>
- </mx:Application>
关键知识点说明:
- HTTPService的用法。此组件是向后台请求数据的关键。send()方法会向后台自动请求数据。result属性值十个回调函数。当在加载完成后运行。
- DataGrid的创建。columns是必不可少的头部。
来看关键的AS代码
- internal function completeHandler(evt:ResultEvent):void{
- grid.dataProvider = evt.result.rss.channel.item;
- }
此函数再数据加载完毕后运行(返回的是xml数据)。
grid.dataProvider = evt.result.rss.channel.item;指定DataGrid的数据源。指向xml对象中所有item标签。
数据是加载成功的,但还无法完全满足需求。比如数据格式、分页等等。下次示例奉上。

Промто ! ;) Сегодня по Спорту будет трансляции Матчи Уефа – Не пропустите ! Играют Центральный Спортивный Клуб Армии и Спартак.
хм…ну это памойму уже крайность…
ha ))
+1