首先,循环似乎是错误的,您迭代了一个字符串
source
,而不是数组。
其次,网格应该绑定到存储在网格中的对象的某些属性
dataProvider
三,,
dataField
,应在网格单元中显示哪个值。
基本上,您需要解析传入字符串,将每一行存储在一个对象中,并将所有这些对象存储在一个集合中。
因此,代码应该是这样的:
[Bindable]
private var dataList:ArrayCollection;
public function cycle(source:String):void
{
var ac:ArrayCollection = new ArrayCollection();
for(var i:int = 0; i < data.length; i += 3) {
var dataObj:Object = {row: data[i], column: data[i+1], value: data[i+2]};
ac.addItem(dataObj);
}
dataList = ac;
}
<mx:AdvancedDataGrid dataProvider="{dataList}" liveScrolling="true" id="dg"
x="10" y="117" width="621">
<mx:columns>
<mx:AdvancedDataGridColumn dataField="row"
headerText="Riga"/>
<mx:AdvancedDataGridColumn dataField="column"
headerText="Colonna"/>
<mx:AdvancedDataGridColumn dataField="value"
headerText="Valore"/>
</mx:columns>
</mx:AdvancedDataGrid>