It looks much better than the stack of ComboBoxes! Thanks for your help on this Alex.
Steve On 3/2/07, Alex Harui <[EMAIL PROTECTED]> wrote:
That's fine and probalby looks better than a stack of ComboBoxes, but you could still do it the original way by setting itemIsRenderer. ------------------------------ *From:* [email protected] [mailto:flexcompone [EMAIL PROTECTED] *On Behalf Of *Steve Gustafson *Sent:* Friday, March 02, 2007 1:44 PM *To:* [email protected] *Subject:* Re: [flexcomponents]PROBLEM SOLVED! Struggling with itemRenderer in DataGrid 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. > > > > > > > > > >
