>...how to code the valid method so it won't allow them to leave the grid line.
Hi Douglas;
Each textbox control in its respective columns, should have something as:
procedure column1.text1.valid
return thisform.myvalid
endproc
procedure columnN.text1.valid
return thisform.myvalid
endproc
procedure thisform.myvalid
if <cond1>
else
return .f.
endif
return .t.
HTH
Claudio
"Now to him who is able to do immeasurably more than all we ask or imagine, according to his power that is at work within us, Ephesians 3:20