Flex hat keine spezifischen Datenbindungsereignisse in der Art, wie ASP .Net tut.Sie müssen auf die Eigenschaft dataProvider achten, wie John in der ersten Antwort sagt, aber nicht nur auf die Combobox oder ihre Eigenschaft dataProvider. Angenommen, Sie haben ein Setup wie dieses:
<!-- Assume you have extracted an XMLList out of the result
and attached it to the collection -->
<mx:HttpService id="svc" result="col.source = event.result.Project"/>
<mx:XMLListCollection id="col"/>
<mx:ComboBox id="cbProject" dataProvider="{col}"/>
Nun, wenn Sie einen Change wie folgt festgelegt:
// Strategy 1
ChangeWatcher.watch(cbProject, "dataProvider", handler) ;
Handler wird nicht erhalten ausgelöst, wenn die Daten zurückkommt. Warum? Weil der dataProvider selbst nicht geändert wurde - seine zugrunde liegende Sammlung. Um das auszulösen, müssen Sie Folgendes tun:
// Strategy 2
ChangeWatcher.watch(cbProject, ["dataProvider", "source"], handler) ;
Jetzt, wenn Ihre Sammlung aktualisiert wurde, wird Ihr Handler ausgelöst werden. Wenn Sie es mit der Strategie 1, tun möchten nicht setzen Sie Ihren DataProvider in MXML. Behandeln Sie das Ereignis collectionChange Ihrer XMLListCollection, und überschreiben Sie in AS den DataProvider der ComboBox.
Sind diese genau das gleiche wie ein datengebundenes Ereignis? Nein, aber ich habe sie benutzt und hatte nie ein Problem. Wenn Sie Ihre Daten werden absolut sicher wollen hat gebunden ist, legen sich lediglich ein Change auf dem selectedItem Eigentum Ihrer Combobox und tun es Ihre Verarbeitung. Sei einfach darauf vorbereitet, dass das Ereignis mehrmals ausgelöst wird und handle entsprechend.
Der Adobe.com-Link ist beschädigt. – qualidafial