Flex:XMLlistCollection之間的賦值問(wèn)題

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

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

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

          這樣的做的目的在于想把每次請(qǐng)求回來(lái)的數(shù)據(jù)累加——“ +=”

          之前一直錯(cuò)誤的賦值方式:
          gridData=videoSrc
          這樣會(huì)導(dǎo)致dataProvider與gridData指向同一個(gè)對(duì)象,與指針一樣。

          所以當(dāng)HTTPService 返回?cái)?shù)據(jù)改變, videoSrc改變的時(shí)候,DataProvider里的數(shù)據(jù)都是videoSrc當(dāng)前數(shù)據(jù)
          而大小已經(jīng)變成了gridData一樣的大小了

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

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

          Copyright © Robert Su

          主站蜘蛛池模板: 营口市| 柞水县| 江孜县| 北安市| 宜州市| 库伦旗| 武汉市| 浦县| 玉林市| 略阳县| 河池市| 南部县| 德兴市| 东台市| 丹巴县| 永丰县| 武山县| 区。| 深圳市| 巴彦县| 井研县| 定远县| 弥勒县| 东海县| 灵川县| 双江| 万宁市| 石柱| 滦南县| 建宁县| 北流市| 桂东县| 泽普县| 昆明市| 福贡县| 福泉市| 蓬溪县| 南丹县| 阳谷县| 佳木斯市| 伊春市|