Flex

Flex教學-當XML只有一筆資料轉ArrayCollection發生錯誤

梅干 2009/01/06

  之前一直都使用HttpService來載入XML中的資料,並且將XML轉換成ArrayColletion,並將ArrayCollection塞到DataGrid中,由於先前測試XML檔時,裡頭都有n筆資料,但當XML只剩下一筆資料時,資料不但無法正常顯示到DataGrid中外,並且連取得第一筆資料中的子節點也出現轉型錯誤的問題,搞了老半天才知道,原來是型態問題,好在有Ticore’s的指點,以及有好友山羊的相助下,終於解決了此問題,並花了點時間將它整理一下,製作成教學分享給有遇到此問題的朋友們。


1XML.xml

<?xml version=“1.0” encoding=“utf-8”?>


[PC]自行整合SP3與Sata驅動程式的WinXP安裝光碟
電腦不求人/系統
2009-01-04



HttpServiceOneXmlData.mxml

<?xml version=“1.0” encoding=“utf-8”?>

mx:Script
<![CDATA[ import mx.collections.ArrayCollection; import mx.utils.ObjectProxy; import mx.rpc.events.ResultEvent;
    [Bindable]
    private var flvData:ArrayCollection=new ArrayCollection();

    private function init():void{
         this.httpService.send();
    }
private function resultHandler(event:ResultEvent):void
{
     if(event.result.minwt.doc is ObjectProxy)
{
     flvData.addItem(event.result.minwt.doc);
}
 else
{
    flvData=event.result.minwt.doc;
}
    this.myDataGrid.dataProvider=flvData;
    this.mylb.text=this.flvData.getItemAt(0).docTitle.toString();
}

]]><br />
</mx:Script></p>











範例預覽:

[範例下載]