After solving the first part of the puzzle with the following:

private function getLevelsForCBResult(event:Object):void
{
   public var cbRenderer:ClassFactory = new ClassFactory(comboR);
   myCBData = event.result as ArrayCollection;
   cbRenderer.properties = {dataProvider:myCBData};
}

I figured out that what I really needed to do was use an itemEditor instead
of an itemRenderer for my purposes.

public function createPositionTable():void
{
   adminTablesCFC.getLevelsForCB();

   _col1 = new DataGridColumn;
   _col2 = new DataGridColumn;
   _col3 = new DataGridColumn;
   _col4 = new DataGridColumn;
   _col5 = new DataGridColumn;
   _col6 = new DataGridColumn;

   _col1.headerText= "Position";
   _col1.dataField = "Description";
   _col1.editable = true;
   _col1.width = 100;

   _col2.dataField = "Type";
   _col2.headerText= "Type";
   _col2.editable = true;
   _col2.width = 50;

   _col3.dataField = "levelDescription";
   _col3.headerText = "Level";
   _col3.width = 150;
   _col3.editable = true;
   _col3.itemEditor = cbLevelsRenderer;  // HERE IS WHERE I AM USING THE
itemEditor
   _col3.editorDataField = "text";


   _col4.dataField = "Active";
   _col4.headerText = "Active";
   _col4.width = 50;
   _col4.editable = false;
   _col4.itemRenderer = new ClassFactory(delCheckbox);
   _col4.editorDataField = "Active";


   _col5.dataField = "ID";
   _col5.headerText= "PositionID";
   _col5.editable = false;
   _col5.visible = false;
   _col5.width = 50;

   _columns = new Array(_col1,_col2,_col3,_col4,_col5);
   buildGrid();
   updateTablesButton.label = 'Update Positions Table';
}

So now, I am creating dataGrids on the fly, with comboBoxes for itemEditors
that are also created on the fly.

This is now working great!

Thanks for everyones help.

Steve

On 3/2/07, Alex Harui <[EMAIL PROTECTED]> wrote:

   You'll have to override the data setter.

override public function set data(value:Object):void
{
}

The value object contains the data for an entire row in the DataGrid.  If
you can then calculate the selectedIndex based on the data in the row, you
are set to go.



 ------------------------------
*From:* [email protected] [mailto:flexcompone
[EMAIL PROTECTED] *On Behalf Of *Steve Gustafson
*Sent:* Friday, March 02, 2007 8:36 AM
*To:* [email protected]
*Subject:* Re: [flexcomponents] Struggling with itemRenderer in DataGrid

 That is exactly the solution I hit upon this morning.

Now I am trying to work through how to have a different selectedIndex in
the ItemRenderer for each row in the datagrid.

Any thoughts?

Thanks,
Steve

On 3/2/07, jwopitz <[EMAIL PROTECTED]> wrote:
>
>   I would try this.
>
> var cf:ClassFactory = new ClassFactory(yourItemRenderer);
> cf.properties = {dataProvider:myCBData};
>
> col3.itemRenderer = cf.
>
>
>
>
>

Reply via email to