Flex的DataGrid的列的表示顺序的问题,对DataGrid的各个列重新排列
各位大大,我最近碰到一个问题,
就是把一个DataGrid的各个列的表示顺序进行重新排列,
不知道怎么办了,
希望各位能帮帮忙,谢谢!!
<ns1:MsuDataGrid resizableColumns="true" id="myGrid" >
<ns1:columns>
<mx:DataGridColumn id="No" headerText="No"/>
<mx:DataGridColumn id="Pid" headerText="PID" />
<mx:DataGridColumn id="NaibuKanriCode" headerText="内部管理区分"/>
<mx:DataGridColumn id="DenkiMdisKubun" headerText="MDIS区分" />
<mx:DataGridColumn id="ProjectName" headerText="名字" />
<mx:DataGridColumn id="Kokyaku" headerText="顾客" >
</ns1:columns>
</ns1:MsuDataGrid>
针对上面这个DataGrid的各个列,要按照一个新的顺序进行重新排列,怎么能实现呢,希望各位哥哥姐姐给我点提示,
感激不尽~~
[解决办法]
<?xml version="1.0" encoding="utf-8"?><mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" fontSize="12"> <mx:Script> <![CDATA[ import mx.controls.dataGridClasses.DataGridColumn; [Bindable] private var ar:Array = [{str:"aaa", numA:111, numB:222}, {str:"bbb", numA:333, numB:444},{str:"ccc", numA:555, numB:666}]; private function sortColumn():void { var arCols:Array = dg.columns; var arNewCols:Array = new Array(); for(var i:int = arCols.length-1; i >= 0; i--) { arNewCols.push(arCols[i]); } dg.columns = arNewCols; } ]]> </mx:Script> <mx:Panel width="100%" height="100%"> <mx:DataGrid id="dg" width="100%" height="100%" dataProvider="{ar}"> <mx:columns> <mx:DataGridColumn dataField="numA"/> <mx:DataGridColumn dataField="numB"/> <mx:DataGridColumn dataField="str"/> </mx:columns> </mx:DataGrid> <mx:HBox width="100%"> <mx:Button label="sort column" click="sortColumn()"/> </mx:HBox> </mx:Panel></mx:Application>