Hi!
Ronnie, this way you get a pure grid reconstruction behavior when all controls and their code are lost. Read FAQ#8019 for details. Grid MUST have record source when you create it, evnet if it is empty. Otherwise, current alias will be used as a record source and grid will be reconstructed just when initialized. You can also make a nothe solution - add controls to grid in run-time. Make a text box class that runs some code on Double Click event. In run-time add new textbox based on that class to the columns of grid using Grid.Columns(i).AddObject() method. Do not forget to set Visible proeprty of new objefct to .T. after adding in run-time, do not forget to set Visible property to .F. for original (default) text box you will remove from the grid. There are samples somewhere in the FAQ, as far as I remember, or in the message pointed by Cetin.
Finally, Double Click might not work also if the Click event contains a lot of code. That code lasts too long time to catch the second click on the control and fire double click.
HTH.
>In the init method of my form i do the following
>
>=.addobject('ogrid1','gridorders')
>=.ogrid1.grid1.refresh() &&in the refresh() method I set recordsourcetype
> and header names etc
>thisform.ogrid1.visible = .t.
>
>Ronnie
Vlad Grynchyshyn, Project Manager, MCP
vgryn@yahoo.comICQ #10709245
The professional level of programmer could be determined by level of stupidity of his/her bugs
It is not appropriate to say that question is "foolish". There could be only foolish answers. Everybody passed period of time when knows nothing about something.