2014-10-07 2 views
0

Я новичок в AS и FLEX, и мне интересно, как можно добиться динамической загрузки данных ComboBox. В настоящее время у меня есть следующий код:Flex динамический ComboBox через JSON

// ActionScript 
public var staff:ArrayCollection = new ArrayCollection(
[ {label:"Kim"}, 
{label:"Mike"}, 
{label:"Eric"} ]); 

// MXML 
<s:ComboBox dataProvider="{staff}" id="employee_select" /> 


// from JSON 
["Kim","Mike","Eric"] 

Я получаю строку JSON из из веб-службы, которая заполняет его из массива JAVA и хотели бы, чтобы заполнить поставщика данных из этого источника. Кто-нибудь может мне помочь? Я искал учебники as3, но не нашел этого ответа нигде. Благодаря!

+0

Я хотел бы предложить обновить название точно отражает то, что ваш вопрос. –

ответ

1

Петля, как обычно.

смотри пример:

var yourJASONobj:Object = { 
    "riders": [ 
     { "name": "Paul Waters", 
      "age": "38", 
      "spouse": "Shannon Elizabeth Colman", 
      "email": "[email protected]" 
     } 
    ] 
}; 

var id_string:String = "Paul Waters"; 
for(var a:String in yourJASONobj.riders[0]) { 
    var b:String = yourJASONobj.riders[0][a]; 
    if (b == id_string){ 
     trace(id_string + "'s spouse is " + yourJASONobj.riders[0].spouse) 
    } 
}; 
0

что-то вроде этого:

[Bindable]  
private var staff : ArrayCollection = new ArrayCollection(); 

public function setComboBoxProvider(jsonString : String) : void { 
    // from JSON 
    //["Kim","Mike","Eric"]  
    staff.source = JSON.parse(); 
} 


// MXML 
<s:ComboBox dataProvider="{staff}" id="employee_select" /> 
Смежные вопросы