PROCEDURE Init * This.OldActiveRow is a property I added to my grid class if !empty(This.RecordSource) and reccount(This.RecordSource) > 0 This.OldActiveRow = RecNo(This.RecordSource) else This.OldActiveRow = 0 endif ENDPROC PROCEDURE BeforeRowColChange LPARAMETERS nColIndex if !empty(This.RecordSource) and reccount(This.RecordSource) > 0 This.OldActiveRow = RecNo(This.RecordSource) else This.OldActiveRow = 0 endif ENDPROC PROCEDURE AfterRowColChange LPARAMETERS nColIndex * This.GridRowChange is a method I added to my grid class if !empty(This.RecordSource) and reccount(This.RecordSource) > 0 if This.OldActiveRow <> RecNo(This.RecordSource) This.GridRowChange() ThisForm.Refresh() endif endif ENDPROC PROCEDURE gridrowchange *-- method to place additional code to be called by AfterRowColChange only if the Row changed ENDPROC