2014-02-28 34 views
0

以下是一个简单的代码。如何在不使用“getItemAt()”方法的情况下获得值如何获取存储在fl.data.Dataprovider实例中的对象的标签值

import fl.controls.List ; 
import fl.data.DataProvider ; 
import flash.utils.describeType; 

var a_Lst:List ; 
a_Lst.addItem({label:"a"}); 
a_Lst.addItem({label:"b"}); 


trace(a_Lst.dataProvider) //OUTPUT: DataProvider [[object Object] , [object Object]] 


trace(a_Lst.dataProvider.getItemAt(0)); //<< GET THE VALUE "a" 

trace(a_Lst.dataProvider[0]); //<< DON'T GET THE VALUE 

for (var a:String in a_Lst.dataProvider) 
{ 
    trace(a) ;// << DON'T GET ANY VALUE 
} 

for each (var b:String in a_Lst.dataProvider) 
{ 
    trace(b) ;// << DON'T GET ANY VALUE 
} 

回答

0

尝试这样的:

function show(list : List):void 
{ 
    for (var i : uint = 0; i < list.length; i++) 
    { 
     trace(list.dataProvider.getItemAt(i).label); 
    } 
} 
相关问题