Help.
I'm trying to use an itemRenderer to create a comboBox in a DataGrid that is
being created with AS.
I can create the comboBox, but I am struggling with being able to change the
dataProvider for the rendered comboBox, and setting the selected index on
the comboBox.
The relevant code I am using is below.
Any help is GREATLY APPRECIATED as I am rapidly approaching a deadline.
Steve
public function createPositionTable():void
{
_datagrid = positionsGrid; // positionsGrid is an already created
DataGrid object
_col1 = new DataGridColumn;
_col2 = new DataGridColumn;
_col3 = new DataGridColumn;
_col4 = new DataGridColumn;
_col5 = 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 = "levelCode";
_col3.headerText = "Level Code";
_col3.width = 150;
_col3.editable = false;
_col3.itemRenderer = new ClassFactory(cbRender); // HERE IS WHERE I AM
CREATING THE COMBO BOX
_col3.editorDataField = "levelCode";
_columns = new Array(_col1,_col2,_col3);
_datagrid.columns = _columns
_datagrid.sortableColumns = false;
_datagrid.dataProvider = objAdminTableGridDP;
_datagrid.dragEnabled = false;
_datagrid.dragMoveEnabled = false;
_datagrid.dropEnabled = false;
_datagrid.editable = true;
_datagrid.rowHeight = 30;
updateTablesButton.label = 'Update Positions Table';
}
------------------------------------
cbRender.mxml
<?xml version="1.0" encoding="utf-8"?>
<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml" width="50" height="25">
<mx:Script>
<![CDATA[
import mx.utils.ObjectUtil;
[Bindable]
public var myLevels:Array =
[{label:"Accounting", data:"accounting"},
{label:" Administator", data:"1"},
{label:"Programmer", data:"2"},
{label:"Vice President", data:"3"},
{label:"President", data:"4"},];
public var cboLevelID:String = '';
public function get setLevel():String {
return cboLevels.selectedItem.data;
}
]]>
</mx:Script>
<mx:ComboBox id="cboLevels" dataProvider="{myFolders}"/>
</mx:VBox>