对象到arraycollection

时间:2011-05-14 01:34:04

标签: flex actionscript

linedataColl是一个AC,包含从CSV中提取的100多行,我希望按对象将项添加到SuperDataCollection对象中,但唯一的问题是我无法在“S”中看到任何数据显示,这是一个数据网格。我的代码有什么问题?

   var superDataCollection:ArrayCollection = new ArrayCollection();
   var dc:ArrayCollection = new ArrayCollection();
   var di:Object = new Object();
   for(var aa:int=0; aa<5;aa++){
    di.username = linedataColl[aa].username;
    di.email = linedataColl[aa].email;
    dc.addItem(di);
    superDataCollection.addItem(dc);
}
s.dataProvider = dc;

对于我的数据网格:

var columns:Array = [];
var myDataGridColumn:DataGridColumn = new DataGridColumn("id");
myDataGridColumn.headerText = "ID";
myDataGridColumn.width = 40;
columns.push(myDataGridColumn);
... // so on for other column
dg1.columns = columns;      

1 个答案:

答案 0 :(得分:2)

我发现你的代码中有两件事是错误的

1)在For循环中声明 di ,每次迭代的新实例

for(var aa:int=0; aa<5;aa++){
     var di:Object = new Object();  

2)你没有为DataGridColumn定义正确的 dataField ,虽然你在构造函数中传递了 id ,但我没有在你分享的上层代码中找到它,它可能是

di.id = aa

myDataGridColumn.headerText = "ID";   
myDataGridColumn.width = 40;   
myDataGridColumn.dataField = "username"; 

希望有所帮助