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

          Posted on 2009-03-06 13:37 Robert Su 閱讀(1767) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): 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

          主站蜘蛛池模板: 玛纳斯县| 屯昌县| 民勤县| 县级市| 云南省| 资中县| 苍南县| 黄龙县| 科技| 新化县| 伊金霍洛旗| 泸水县| 万载县| 新安县| 商洛市| 宕昌县| 龙海市| 博爱县| 通城县| 白银市| 工布江达县| 平安县| 宝清县| 南开区| 阳城县| 阿荣旗| 元阳县| 文昌市| 交城县| 五指山市| 沂水县| 黔西| 略阳县| 瓦房店市| 定远县| 淮阳县| 繁峙县| 滁州市| 通山县| 慈利县| 江城|