Hey, If all you want to do is organize the column order you can manually set up columns in the appropriate order.
The flex docs show a way to hide and show columns, so assuming they are in the right order that would work. Essentially you name each column with an ID and then toggle the visibity. Otherwise, you could use an addChild and removeChild in a method. Remember columns are just another "object" so just treat it that way. Examples for the Docs: Hiding and displaying columns If you might display a column at some times, but not at others, you can specify the DataGridColumn class visible property to hide or show the column. The following example lets you hide or show the album price by clicking a button: <?xml version="1.0"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" > <mx:DataGrid id="myDG" width="350"> <mx:dataProvider> <mx:ArrayCollection> <mx:source> <mx:Object Artist="Pavement" Price="11.99" Album="Slanted and Enchanted" /> <mx:Object Artist="Pavement" Album="Brighten the Corners" Price="11.99" /> </mx:source> </mx:ArrayCollection> </mx:dataProvider> <mx:columns> <mx:Array> <mx:DataGridColumn dataField="Artist" /> <mx:DataGridColumn dataField="Album" width="175" /> <mx:DataGridColumn id="price" dataField="Price" visible="false"/> </mx:Array> </mx:columns> </mx:DataGrid> <!-- The column id property specifies the column to show.--> <mx:Button label="Show Price" click="price.visible=true;" /> </mx:Application> Example2: Creating Children: (this case is a textarea, but you can define a column just as well) // Declare two variables for the component children. private var text_mc:TextArea; private var mode_mc:Button; override protected function createChildren():void { // Call the createChildren() method of the superclass. super.createChildren(); // Test for the existence of the children before creating them. if (!text_mc) { text_mc = new TextArea(); text_mc.explicitWidth = 80; text_mc.editable = false; text_mc.addEventListener("change", handleChangeEvent); // Add the child component to the custom component. addChild(text_mc); } // Test for the existence of the children before creating them. if (!mode_mc) { mode_mc = new Button(); mode_mc.label = "Toggle Editing"; mode_mc.addEventListener("click", handleClickEvent); // Add the child component to the custom component. addChild(mode_mc); } } More detail on the datagrid column: The DataGridColumn class describes a column in a DataGrid control. There is one DataGridColumn per displayable column, even if a column is hidden or off-screen. The data provider items of a DataGrid control can contain properties that are not displayed and, therefore, do not need a DataGridColumn. A DataGridColumn allows specification of the color and font of the text in a column; what kind of component displays the data for the column; whether the column is editable, sortable, or resizeable; and the text for the column header. -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com Yahoo! Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/flexcoders/ <*> Your email settings: Individual Email | Traditional <*> To change settings online go to: http://groups.yahoo.com/group/flexcoders/join (Yahoo! ID required) <*> To change settings via email: mailto:[EMAIL PROTECTED] mailto:[EMAIL PROTECTED] <*> To unsubscribe from this group, send an email to: [EMAIL PROTECTED] <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/

