I have a combobox in a cell in a datagrid. Surrounding the cell with the
combobox in it, are cells with text fields. I can tab from cell to cell, but
when I try to tab to the combobox, the cursor skips over it. I want to be able
to tab into the combobox. Code for the datagrid is below. The
OtherCodeRenderer creates the combobox. I tried setting editable to true for
that cell; the combobox gets changed to a text field when I tab into it. I
have included the code for the OtherCodeRenderer below, also. Any help will be
appreciated. Thank you.
<mx:DataGrid
dataProvider="{quickObject.dataProvider}"
sortableColumns="false"
resizableColumns="false"
id="quickEntryGrid"
editable="true"
dragEnabled="false"
rowCount="15"
rowRenderer="ErrorRowRenderer"
cellEdit="doCellEdit(event)"
cellFocusIn="doCellFocusIn(event)"
cellFocusOut="doCellFocusOut(event)">
<mx:columns>
<mx:Array>
<mx:DataGridColumn headerText="VAC" width="53"
columnName="timerecordTrcVacationHours"
<mx:DataGridColumn headerText="OTHER" width="53"
columnName="timerecordTrcOtherHours" editable="true" />
<mx:DataGridColumn headerText="O" width="21"
columnName="timerecordOtherHoursCodeLetter" />
<mx:DataGridColumn headerText="CODE" width="130"
columnName="timerecordTrcOtherHoursCode" cellRenderer="{OtherCodeRenderer}"
editable="false"/>
</mx:Array>
</mx:columns>
</mx:DataGrid>
OtherCodeRenderer
<?xml version="1.0" encoding="utf-8"?>
<mx:VBox xmlns:mx="http://www.macromedia.com/2003/mxml" marginLeft="0"
marginBottom="0" marginRight="0" marginTop="0" height="100%" width="100%"
backgroundAlpha="0" verticalAlign="middle" horizontalAlign="center" >
<mx:Script>
<![CDATA[
var listOwner : Object; // the reference we receive to the list
var getCellIndex : Function; // the function we receive from
the list
var getDataLabel : Function; // the function we receive from
the list
function setValue( str : String, item : Object, selection :
String ) : Void {
for( var i = 0; i < combo.dataProvider.length;
i++ ) {
if( combo.dataProvider[i].data
== item[ getDataLabel() ] ) {
combo.selectedIndex = i;
break;
}else{
combo.selectedIndex = 0;
}
}
}
function change() {
if(listOwner.dataProvider[getCellIndex().itemIndex].timerecordTrcUpdateUserId
!= null &&
listOwner.dataProvider[getCellIndex().itemIndex].timerecordTrcUpdateUserId !=
"" &&
parentDocument.parentDocument.userId !=
listOwner.dataProvider[getCellIndex().itemIndex].timerecordTrcUpdateUserId) {
parentDocument.detailStatus =
"You cannot modify a row that you have not modified previously.";
parentDocument.changesMade =
true;
parentDocument.allButtonsFalse();
return;
}
}
]]>
</mx:Script>
<mx:ComboBox height="40" width="100%" id="combo"
change="change(event)"
dataProvider="{parentDocument.otherHoursCodeDataProvider}" />
</mx:VBox>
Dee A. Chilcoat
Enterprise Web Application Development
University of California San Diego
[EMAIL PROTECTED]
(858) 534-0719