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>
> >
>


Reply via email to