lparameters DoNotGoDownIfGrid local _ActiveControl, _ActiveColumn, i, x if( type('thisform.ActiveControl') == T_UNDEFINED ) return .Null. else _ActiveControl = thisform.ActiveControl endif if( !(type('_ActiveControl') == T_OBJECT ) ) assert FALSE endif if( !DoNotGoDownIfGrid and (Proper(_ActiveControl.BaseClass) == 'Grid') ) _ActiveColumn = _ActiveControl.ActiveColumn if( !empty(_ActiveColumn) ) for i = 1 to _ActiveControl.ColumnCount x = _ActiveControl.Columns[i] if( x.ColumnOrder == _ActiveColumn ) exit endif endfor for i = 1 to x.ControlCount if ( x.Controls[i].Name == x.CurrentControl ) _ActiveControl = x.Controls[i] exit endif endfor endif endif return _ActiveControl(2) modify the AfterRowColChange of the grid
LPARAMETERS ncolindex =DoDefault(ncolindex) local ac ac = thisform.GetACtiveControl() do case case isnull(ac) otherwise acti screen ?sys(1272, ac) ?objtoclient(ac, 1) ?objtoclient(ac, 2) endcase