Flex, <mx: Combobox> & XML: получить узел xml для указания поставщика данных - PullRequest
0 голосов
/ 11 февраля 2010

Я пытаюсь установить поставщик данных в выпадающем списке. У меня есть 2 комбинированных списка: cb_div и cb_stores. Для cb_div я правильно установил поставщика данных с помощью XML-файла. Поставщик данных Cb_stores должен быть установлен в зависимости от выбранного элемента cb_div.

Во-первых, вот мои 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>

Я пытаюсь сделать следующее: если пользователь выбирает «Japan» в cb_div, поставщик данных cb_stores должен быть хранилищем под <stores name="Japan">, если он выбирает «Europe», поставщик данных должен быть <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>

Спасибо за любую помощь, которую вы можете предоставить.

Привет

1 Ответ

1 голос
/ 15 февраля 2010

с самого начала

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

должно быть

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

обратите внимание на "=="

измени это и посмотри, что еще не так.

...