簡體   English   中英

柔性, <mx:Combobox> &XML:獲取xml節點以指定數據提供者

[英]Flex, <mx:Combobox> & XML: get xml node to specify's dataprovider

我正在嘗試設置組合框的數據提供程序。 我有2個組合框:cb_div和cb_stores。 對於cb_div,我可以使用XML文件正確設置數據提供程序。 將根據cb_div的選定項來設置Cb_stores的數據提供程序。

首先,這是我的XML文件。 cb_div的數據提供程序:

<?xml version="1.0" encoding="UTF-8"?>
<divisions>
 <division id="Japan">Japan</division>
 <division id="Europe">Europe</division>
</divisions>

cb_stores的數據提供者:

<list>
 <stores name="Europe">
  <store>BOUTIQUE HARROD'S</store>
  <store>GALERIES LAFAYETTE LILLE</store>
  <store>GALERIES LAFAYETTE SAISONNIERE</store>
 </stores>
 <stores name="Japan">
  <store>ODEIS PACK HANZOMON</store>
  <store>GINZA</store>
  <store>OMOTESANDO</store>
 </stores>
</list>

我要執行的操作如下:如果用戶在cb_div中選擇“日本”,則cb_stores的數據提供者應為<stores name="Japan">下的<stores name="Japan"> ,如果他選擇“歐洲”,則數據提供者應為<stores name="Europe">

這是我做過的,但是沒有用:它返回所有商店。

<mx:Script>
 <![CDATA[
  import mx.controls.Alert;
  private function division_change():void
  {
   Alert.show(division.selectedItem.toString());
   var temp:XMLList = stores.stores.(@name=division.selectedItem);
   store.dataProvider = temp.store;
  }
 ]]>
</mx:Script>
<mx:VBox verticalGap="10">
 <mx:ComboBox id="division" dataProvider="{divisions.division}" change="division_change()" prompt=" "/>
 <mx:ComboBox id="store" prompt=" "/>
 <mx:TextInput id="password" displayAsPassword="true"/> 
</mx:VBox>

感謝您的任何幫助,您可以提供。

問候

馬上

var temp:XMLList = stores.stores.(@name=division.selectedItem);

需要是

var temp:XMLList = stores.stores.(@name==division.selectedItem);

注意“ ==”

改變它,看看還有什么問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM