4
我有這樣的DataGrid:設置的DataGridColumn的ItemRenderer的動態
<mx:DataGrid id="myDataGrid">
<mx:columns>
<mx:DataGridColumn dataField="colA" headerText="Column A:" width="40"
headerRenderer="path.customComponents.VerticalHeader"
itemRenderer="path.customComponents.CustomDataGridItemRenderer" />
</mx:Columns>
</mx:DataGrid>
只有我不知道提前多少列會有。於是,我就在ActionScript功能搭建列:
private var _columns:Array;
[Bindable]
public function set columns(value:Array):void
{
var c:Array = [];
for each(var object:Object in value)
{
var column:DataGridColumn = new DataGridColumn();
column.headerText=object.name;
column.width=40;
// Setting the Renderers like this doesn't work!
column.headerRenderer =
path.customComponents.VerticalHeader;
column.itemRenderer =
path.customComponents.CustomDataGridItemRenderer;
c.push(c);
}
myDataGrid.columns = c;
}
public function get columns():Array
{
return _columns;
}
但由於某些原因,該渲染不能設置像這樣。 (column.itemRenderer = com.ItemRenderer)。
什麼是動態設置這些渲染的正確方法?
太棒了!這也解決了我的問題!非常感謝! – Markus 2010-03-11 16:38:00
哦,夥計,你明確地拯救了我的一天! :) – 2013-10-24 08:32:57