Datagrid的列是一个数组,动态添加列的方法是创建一个新的数组来存放Datagrid的所有列,然后往这个新的数组新增一列,最后再把Datagrid的列指向这个数组:
protected function btn_clickHandler(event:MouseEvent):void { var dc:DataGridColumn = new DataGridColumn(); var arr:Array = dg.columns; arr.push(dc); dg.columns = arr; } <mx:Button id="btn" label="add column" click="btn_clickHandler(event)" /> <mx:DataGrid id="dg" dataProvider="{ac}"> <mx:columns> <mx:DataGridColumn /> <mx:DataGridColumn /> <mx:DataGridColumn /> </mx:columns> </mx:DataGrid>