LPARAMETERS nColIndex llChangingRow = .f. with this if lastkey() = 145 && Adding new rec - class specific .nLastValidRec = .nCurrec && Class specific endif thisform.LockScreen = .lInGrid if mdown() lnBottom = .top+.headerheight+.relativerow * .rowheight lnTop = lnBottom - this.rowheight lnMouseRowPos = mrow(wontop(),3) lnMouseColPos = mcol(wontop(),3) llChangingRow = !(between(lnMouseRowPos,lnTop, lnBottom) ; and between(lnMouseColPos,.left,.left+.width)) else llChangingRow = inlist(lastkey(),24,5,18,3,145,148) endif * Some keys in list are class specific if llChangingRow * Your code here * nodefault prevents movement endif endwithIf you're doing it for newly appended recs and doing tableupdate per row then just checking recno()<0 could be enough too.