
Код AS3:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:local="*" xmlns:mapView="mapView.*" >
<mx:Script>
<![CDATA[
import mx.controls.dataGridClasses.DataGridColumn;
private var arr:Object = {
col1: "1", col2: "3", col3: "Van Amstel, Louis", col4: "Burke, Cheryl" };
protected function button1_clickHandler(event:MouseEvent):void
{
var columns:Array = new Array();
for (var name:String in arr)
{
trace(name);
var column:DataGridColumn = new DataGridColumn(name);
column.dataField = name;
columns.push(column);
}
dataGrid.columns = columns;
dataGrid.dataProvider = arr;
trace("aaaa");
}
]]>
</mx:Script>
<mx:DataGrid id="dataGrid">
</mx:DataGrid>
<mx:Button click="button1_clickHandler(event)" />
</mx:Application>
Ну, в любом случае придется переформировывать dataProvider, чтобы все элементы выстроить в одну строку. Скорее всего вам нужен не DataGrid, а какой-то другой компонент, либо воспользоваться своим itemRender'ом - возможно он решит проблему