Hi,
This is how the labelField work.
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="
http://www.adobe.com/2006/mxml"creationComplete="initApp()">
<mx:Script>
<![CDATA[
import mx.collections.*;
public var mylist:Array ;
private function initApp():void
{
mylist = [ {LABEL:"a",data:[{label:"a1",data:1},
{label:"a2",data:2},{label:"a3",data:3}]},
{LABEL:"b",data:[{label:"b1",data:1},
{label:"b2",data:1},{label:"b3",data:1}]},
{LABEL:"c",data:[{label:"c1",data:1},
{label:"c2",data:1},{label:"c3",data:1}]},
{LABEL:"d",data:[{label:"d1",data:1},
{label:"d2",data:1},{label:"d3",data:1}]}] ;
cb.dataProvider = new ArrayCollection(mylist);
}
]]>
</mx:Script>
<mx:ComboBox id="cb" labelField="LABEL" />
<mx:List id="listbox" width="100"
dataProvider="{cb.selectedItem.data}"/>
</mx:Application>
However, it still has to verify the data from your remote
call. You can turn on debug by modifying
WEB-INF/flex/services-config.xml
<target class="flex.messaging.log.ConsoleTarget"
level="Debug">
Then, you should able to see the debug messages, you can find
the actual data type and the properties. or If you are using debug
player, add <mx:TraceTarget /> to your mxml file. You should
able to see the deserialization message log on flashlog.txt
William Chan