Pelo que estou entendendo, seu dataprovidee não vira sempre com os mesmos datafields!!!
vc terá que indexar no seu datagrid não pelo nomes do seu datafield e sim pelo índices no array mais ou menos assim. Note como eu montei o arraycolection e como setei no meu grid. <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()"> <mx:Script> <![CDATA[ import mx.collections.ArrayCollection; import mx.controls.dataGridClasses.DataGridColumn; [Bindable] var dados:ArrayCollection = new ArrayCollection(); private function init():void{ //monta o arrayColection var array:Array = new Array("valor1", "valor2", "valor3 extra"); dados.addItem(array); } private function insereColuna():void{ //criando a coluna dinamica var coluna:DataGridColumn = new DataGridColumn(); coluna.dataField = "2";//valor do dataprovider coluna.headerText = "Coluna nova";//valor do titulo da coluna //Adiciona o valor novo na coluna var cols:Array = dg.columns; cols.push(coluna); dg.columns = cols; dg.columns.join(coluna); } ]]> </mx:Script> <mx:DataGrid x="46" y="71" id="dg" dataProvider="{dados}"> <mx:columns> <mx:DataGridColumn headerText="Coluna 1" dataField="0"/> <mx:DataGridColumn headerText="Coluna 2" dataField="1"/> </mx:columns> </mx:DataGrid> <mx:Button x="46" y="41" label="Adicona coluna" click="insereColuna()"/> </mx:Application> --~--~---------~--~----~------------~-------~--~----~ Você recebeu esta mensagem porque está inscrito na lista "flexdev" Para enviar uma mensagem, envie um e-mail para [email protected] Para sair da lista, envie um email em branco para [email protected] Mais opções estão disponíveis em http://groups.google.com/group/flexdev -~----------~----~----~----~------~----~------~--~---
