Someone where on UT once told me to include cursor name in the column's controlsource, i.e. myform.mygrid.mycolumn.controlsource=mycursor.myfield.
Long forgotten is the reason for this but I have been doing this ever since. I am not sure if this will help you but it is wort a try.
Are you using the standard vfp grid? Are you sure the grid's readonly is .t.(because this will propagate into the columns)?
Einar
>I have a simple form with a grid on it. The grid's recordsourcetype is set to "Alias". The grid recordsource is an editable cursor created using the following steps:
>1. A Cursor is created by querying a SQL2K table. The communication protocol is ODBC. A stored procedure is called that returns a record set.
>2. Once the record set is returned, another query in VFP is run that appends an empty text field to the result set:
>SELECT fname, space(32) As NewField FROM SQLRESULTS INTO CURSOR NewCursor.
>I then do USE DBF( 'NewCursor' ) AGAIN IN 0 ALIAS 'EditableCursor' to make the cursor editable.
>3. This editable cursor is the RecordSource for the grid. The field 'fName' becomes the ControlSource for column2 and 'NewField' becomes the control source for column1.
>What happens is this: the read only property on Grid.Column1.Text1 changes to true as soon as it gets the focus. Why? If the cursor 'EditableCursor' is browsed using "BROW NORM" all of the fields are editable. I'm really stumped on this one.
>
>Any ideas on how to make this work are appreciated.
Semper ubi sub ubi.