将 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 类型的新实例,并将 name 和 value 动态属性分配给它们各自的值。取而代之的是,您可能希望定义自己的具有可绑定属性的类。请注意,属性名称仅用于此示例,因为我不知道您实际使用的是什么。
此时的数据网格应该有两列由您定义,并相应设置它们的 dataField 属性。此外,此示例假定 columnSet 集合包含您希望垂直显示的“水平列”。如果你可以根据 originalDataset 中的值获取这些,你甚至可能不需要 columnSet。