есть событие dataProviderChange для выпадающего списка? - PullRequest
1 голос
/ 21 марта 2012

У меня есть случай, когда SelectedItem не вызывается после изменения поставщика данных для выпадающий список. Есть ли способ обнаружить, если такое изменение произошло? Спасибо

Ответы [ 2 ]

1 голос
/ 21 марта 2012

Почти каждое открытое свойство во Flex Framework имеет событие 'propertyChanged', которое отправляется из метода набора свойств. Они используются в основном для обязательных целей, но обычно не документированы официально.

Метод набора dataProvider для DropDownList действительно отправляет событие dataProviderChanged. Код находится на несколько уровней выше в иерархии, как часть SkinnableDataContainer или, если обложка для вашего SkinnableDataContainer имеет группу данных, она отправляется из группы данных.

Но это событие, вероятно, не будет отображаться через подсказку кода в MXML. Вы должны будете слушать это в ActionScript:

myList.addEventListener('dataProviderChanged', onDataProviderChanged);

Имейте в виду, что это событие всегда отправляется при изменении dataProvider, независимо от того, что происходит со свойством selectedItem.

0 голосов
/ 21 марта 2012

Вы можете прослушать изменения в selectedItem в DropDownList с помощью IndexChangeEvent , что иллюстрируется приведенным ниже кодом:

<s:DropDownList id="dl_mydl"
  dataProvider="{dataProvider}"
  change="dropDownListChangeHandler(event)"
/>

protected function dropDownListChangeHandler(event:IndexChangeEvent) : void
{
 //DO SOMETHING
}
...