LPARAMETERS nKeyCode, nShiftAltCtrl LOCAL lnActiveColumn, lnActiveRow, lnRelativeRow IF nKeyCode = 27 OR nKeyCode = 13 && escape or enter THIS.lDroppedDown = .F. ENDIF *-- If the list is not dropped down, traverse the grid with cursor keys IF !THIS.lDroppedDown WITH This.Parent.Parent IF nKeyCode = 5 THEN && Up Arrow lnActiveColumn = .ACTIVECOLUMN lnRelativeRow = .RELATIVEROW IF lnRelativeRow = 1 .DOSCROLL(0) && scroll up 1 line .ACTIVATECELL(1,lnActiveColumn) ELSE .ACTIVATECELL(lnRelativeRow-1,lnActiveColumn) ENDIF NODEFAULT ELSE IF nKeyCode = 24 THEN && Down Arrow lnActiveColumn = .ACTIVECOLUMN lnActiveRow = .ACTIVEROW lnRelativeRow = .RELATIVEROW IF lnActiveRow > lnRelativeRow .DOSCROLL(1) && scroll down 1 line .ACTIVATECELL(.RELATIVEROW+1,lnActiveColumn) ELSE .ACTIVATECELL(lnRelativeRow+1,lnActiveColumn) ENDIF NODEFAULT ENDIF ENDIF ENDWITH ENDIFMarcia