Установите в DataGrid только 2 столбца и преобразуйте исходный набор данных в массив массивов {propName, propValue}.
Скажем, у вас есть:
var originalDataSet : ArrayCollection;
var dataSet : ArrayCollection;
var columnSet : ArrayCollection;
Получив исходные значения, вы сделаете что-то вроде:
dataSet = new ArrayCollection();
for (var i : int; i < originalDataSet.length; i++)
{
dataSet.addItem({name : columnSet.getItemAt(i), value : originalDataSet.getItemAt(i)});
}
myDataGrid.dataProvider = dataSet;//set the data provider of the grid to the transformed data set.
Для уточнения:
{name : columnSet.getItemAt(i), value : originalDataSet.getItemAt(i)}
Это создает новый экземпляр типа Object и назначает динамические свойства имени и значения их соответствующим значениям. Вместо этого вы можете определить свой собственный класс с привязываемыми свойствами. Обратите внимание, что имена свойств только для этого примера, потому что я не знаю, с чем вы работаете на самом деле.
Сетка данных в этой точке должна иметь два столбца, определенных вами, с соответствующими свойствами их dataField. Кроме того, в этом примере предполагается, что коллекция columnSet содержит «горизонтальные столбцы», которые вы хотите отобразить вертикально. Если вы можете получить их на основе значений в originalDataset, вам может даже не понадобиться columnSet.