Flex DataGird动态列问题
正常情况下,使用datagird绑定一个arraycolltetion的时候,需要进行如下代码
- XML code
<mx:DataGrid x="10" y="20" dataProvider="{employees}"> <mx:columns> <mx:DataGridColumn dataField="name" headerText="Name"/> <mx:DataGridColumn dataField="phone" headerText="Phone"/> <mx:DataGridColumn dataField="email" headerText="Email"/> </mx:columns> </mx:DataGrid>
但是加入不知道导表的列名,直接将结果连列名带数据一起绑定到datagird上呢
就是说直接
- XML code
]<mx:DataGrid x="10" y="20" dataProvider="{employees}"/>
而不去写 <mx:columns></mx:columns>里面的内容,动态进行列的绑定,有什么好办法吗
[解决办法]
- JScript code
import mx.utils.ObjectUtil;var record:Object = dataStore.getItemAt(0);var classinfo:Object = ObjectUtil.getClassInfo(record);var columns:Array = [];var column:DataGridColumn = null;for each (var p:* in classinfo.properties){ column = new DataGridColumn(); column.dataField = p;// 这个p就是里面的属性名 column.headerText = p; columns.push(column);}