That was exactly the information I needed to get me over that hump, thank you very much.
Josh --- In flexcoders@yahoogroups.com, "valdhor" <valdhorli...@...> wrote: > > You need to populate something like an ArrayCollection and then set the > dataProvider of your DataGrid to that ArrayCollection. Here is a quick > and dirty example: > > <?xml version="1.0" encoding="utf-8"?> > <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" > layout="absolute" > initialize="init()"> > <mx:Script> > <![CDATA[ > import mx.controls.dataGridClasses.DataGridColumn; > import mx.collections.ArrayCollection; > > [Bindable] private var dgCSVArrColl:ArrayCollection = new > ArrayCollection(); > > private function init():void > { > buildDG("Col1, Col2, Col3, Col4, Col5, Col6"); > addDGRow("1, 2, 3, 4, 5, 6"); > addDGRow("9, 8, 7, 6, 5, 4"); > } > private function buildDG(sCSV:String):void > { > var aCSV:Array = sCSV.split(","); > for(var i:int = 0; i < aCSV.length; i++) > { > var dgc:DataGridColumn = new > DataGridColumn(aCSV[i]); > var cols:Array = dgCSV.columns; > cols.push(dgc); > dgCSV.columns = cols; > } > } > private function addDGRow(sCSVData:String):void > { > // Code for adding a row to the datagrid assuming > sCSVData is CSV data > // in the same order as sCSV above > var lCSV:Array = sCSVData.split(","); > var cols:Array = dgCSV.columns; > if(cols.length == lCSV.length) > { > var dataItem:Object = new Object(); > for(var i:int = 0; i < cols.length; i++) > { > dataItem[(cols[i] as DataGridColumn).dataField] > = lCSV[i]; > } > dgCSVArrColl.addItem(dataItem); > } > } > > ]]> > </mx:Script> > <mx:DataGrid id="dgCSV" dataProvider="{dgCSVArrColl}"/> > </mx:Application> > > > > --- In flexcoders@yahoogroups.com, "Josh Keller" <jeepin95@> wrote: > > > > I'm new to Flex (just started looking at it 2 days ago) but I've been > working on this problem all day long. I'm trying to create and populate > a datagrid based on field names specified in a CSV list, with separate > data that is also going to be CSV but from a different source in the > same order if that makes sense. > > > > I've figured out how to make the first section of code below work as I > would expect, buildDG takes the CSV string and generates the columns and > headers in the datagrid like I want. The part I need help on is getting > the code in addDGRow to work, a function that will accept CSV data in > the same order as the headers and add that data as a new row in the > datagrid. I've been working on this all day and can't figure out how to > do this. > > > > Any help would be greatly appreciated. Thanks, Josh > > > > > > private function init():void > > { > > buildDG("Col1,Col2,Col3,Col4,Col5,Col6"); > > } > > private function buildDG(sCSV:String):void > > { > > var aCSV:Array = sCSV.split(","); > > for ( var i:int = 0; i < aCSV.length; i++) > > { > > var dgc:DataGridColumn = new DataGridColumn(aCSV[i]); > > var cols:Array = dgCSV.columns; > > cols.push(dgc); > > dgCSV.columns = cols; > > } > > } > > private function addDGRow(sCSVData:String):void > > { > > // Code for adding a row to the datagrid assuming sCSVData is CSV data > in the same order as sCSV above > > } > > ... > > <mx:DataGrid id="dgCSV"> > > </mx:DataGrid> > > >