Flex:XMLlistCollection之間的賦值問題

          Posted on 2009-03-06 13:37 Robert Su 閱讀(1767) 評論(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

          主站蜘蛛池模板: 正定县| 从江县| 泸西县| 延川县| 龙口市| 丹凤县| 唐山市| 古丈县| 晋中市| 莱阳市| 建瓯市| 咸丰县| 茂名市| 禹州市| 朝阳区| 甘南县| 财经| 会宁县| 都江堰市| 洪雅县| 新昌县| 仙居县| 嘉黎县| 襄樊市| 和平区| 平远县| 门头沟区| 冕宁县| 滦平县| 越西县| 罗城| 邓州市| 比如县| 阜城县| 合肥市| 监利县| 临沧市| 东宁县| 鸡东县| 土默特左旗| 呼和浩特市|