Flex:XMLlistCollection之間的賦值問題

          Posted on 2009-03-06 13:37 Robert Su 閱讀(1764) 評論(0)  編輯  收藏 所屬分類: Flex
          昨天一直被一個問題困擾,關于XMLlistCollection的賦值問題
          問題概述:
           <mx:DataGrid  id="videoList" dataProvider="{gridData}" ...

          gridData定義
          [Bindable] public var gridData:XMLListCollection = new XMLListCollection();

          gridData的取值來自于
          <mx:HTTPService id="videoXml"  method="POST" url="{serviceUrl}" resultFormat="e4x" result="loadDataOk();"  />
           <mx:XMLListCollection id="videoSrc" source="{videoXml.lastResult.webVideos}"/>

          這樣的做的目的在于想把每次請求回來的數據累加——“ +=”

          之前一直錯誤的賦值方式:
          gridData=videoSrc
          這樣會導致dataProvider與gridData指向同一個對象,與指針一樣。

          所以當HTTPService 返回數據改變, videoSrc改變的時候,DataProvider里的數據都是videoSrc當前數據
          而大小已經變成了gridData一樣的大小了

          改正后代碼
          if(gridData.length==0){
               //gridData=videoSrc; //錯誤代碼
               gridData = new XMLListCollection((XMLList)(videoSrc.source));
              }else{
               gridData=MergXMLCollect(gridData,videoSrc); 
              }

          posts - 103, comments - 104, trackbacks - 0, articles - 5

          Copyright © Robert Su

          主站蜘蛛池模板: 安图县| 专栏| 上杭县| 庆云县| 赤峰市| 郧西县| 大埔县| 奉节县| 五指山市| 彰化市| 丰宁| 禄丰县| 紫金县| 马鞍山市| 浦江县| 公主岭市| 木里| 梧州市| 含山县| 临猗县| 陕西省| 普定县| 克东县| 富民县| 建昌县| 临颍县| 得荣县| 东乡| 闽侯县| 自贡市| 皮山县| 凌海市| 宿松县| 华容县| 雷波县| 连平县| 綦江县| 临邑县| 丹阳市| 繁昌县| 东光县|