2010-03-04 37 views
0

我正在使用Horizo​​ntalList控件和XML文件作爲數據提供者。 這是XML的外觀:使用XML數據提供器進行Horizo​​ntallist控制

<data> 
    <zone name="Europe"> 
     . 
     . 
     . 
    </zone> 
    <zone name="Japan"> 
     <stores> 
      . 
      . 
      . 
     </stores> 
     <collections> 
      <collection id="id1"> 
       <name>xxx</name> 
       <model>xxx</model> 
       <hierarchy>xxx</hierarchy> 
       <thumbnail>assets/xxx.PNG</thumbnail> 
      </collection> 
      <collection id="id1Bis"> 
       <name>xxx</name> 
       <model>xxx</model> 
       <hierarchy>xxx</hierarchy> 
       <thumbnail>assets/xxx.PNG</thumbnail> 
      </collection> 
      <collection id="id2"> 
       <name>xxx</name> 
       <model>xxx</model> 
       <hierarchy>xxx</hierarchy> 
       <thumbnail>assets/xxx.PNG</thumbnail> 
      </collection> 
      <collection id="id2Bis"> 
       <name>xxx</name> 
       <model>xxx</model> 
       <hierarchy>xxx</hierarchy> 
       <thumbnail>assets/xxx.PNG</thumbnail> 
     </collections> 
     <clarities> 
      . 
      . 
      . 
     </clarities> 
    </zone> 
</data> 

這是我控制的外觀

<mx:XML id="data" source="assets/SOD_division.xml"/> 

<mx:HorizontalList 
    dataProvider="{data.division.(@name=='Japan').collections}" 
    columnCount="2" 
    itemRenderer="Renderer" 
    width="500" 
    horizontalScrollPolicy="off" 
    /> 

我使用對象作爲數據提供程序的數組嘗試。項目渲染器的工作原理和水平分辨率的行爲就像我期望的那樣。 然而,當我使用XML文件,它是空的....

我不知道爲什麼它不工作... -_-」 ......

感謝您的幫助,您可以提供=)

問候, BS_C3

回答

1

我注意到的第一件事是,你的DP被設置爲:

dataProvider="{data.division.(@name=='Japan').collections}" 

但是,這不是結構的XML。按照你的XML比如你的DP應該是:

dataProvider="{data.zone.(@name=='Japan').collections}" 

現在,多數民衆贊成將返回XML對象時,你可能要一個XMLList對象,在這種情況下你的DP應

dataProvider="{data.zone.(@name=='Japan').collections.collection}" 

,或者如果你不不在乎當地兒童的名字:

dataProvider="{data.zone.(@name=='Japan').collections.children()}" 
+0

謝謝!! 它成功地使它工作感謝你的答案=) 僅供參考,在我原來的XML我用「分化」,而不是「區」 = P – 2010-03-04 20:38:09

+0

你的歡迎,歡迎E4X的世界,一旦你E4X下來它的相當驚人你可以用它做什麼。 – invertedSpear 2010-03-04 21:10:01

相關問題