The following works ok, is it like what you are trying to do? (ps, I've missed up the events cycle, you have to cancel the program to get out, oh well...)
select * from (set("reso", 1)) into cursor toldyouso
oform = createobj("form")
oform.visible = .t.
oform.show
oform.addobject("mygrid", "samplegrid")
oform.mygrid.recordsource = "toldyouso"
oform.mygrid.recordsource = ''
select * from (set("reso", 1)) into cursor toldyouso
oform.mygrid.recordsource = "toldyouso"
oform.mygrid.visible = .t.
read events
define class samplegrid as grid
procedure beforerowcolchange
LPARAMETERS nColIndex
wait window "I Told You So"
endproc
>Are you saying, that it will also maintain the validation rules aswell (methods)??
>
>Eegads, that would be wonderfull!!!
>
>Thanks
>
>PS: I'll walk into it, if you remove the rings!!! (wouldn't be the first time) ;)
>
>>Keith:
>>
>>#1 -- Here is my fist, please walk vigourisly into it a number of times. (If you knew it wouldn't work and you were going to get that reply, it would have saved just bunches and bunches of my time if you had mentioned that.) :-)
>>
>>#2 -- This works (at least, everyone tells me it does, I personally use views whereever I can.) BEFORE CHANGING ANYTHING (note the polite emphasis) set the record source to '', then make your changes to the cursor, then set the record source back! I've had people tell me it doesn't work, only to discover that they are changing the recordsource BEFORE setting it to a blank ('')
>>
--Todd Sherman
-Wake Up! Smell the Coffee!