>>Dragan-
>>the way I have dealt with getting custom controls into a default grid. I
>have a grid class called smartgrid which pulls my classes in depending on
>the datatype of the controlsource of the column.
>
>Woops... left out the code
>FOR lnCount = 1 to this.ColumnCount
>ccolumn = this.Columns[lnCount]
>ccolumn.RemoveObject("header1")
>ccolumn.AddObject("myheader1","myheader")
>do case
>case type(ccolumn.controlsource) = "N"
>ccolumn.RemoveObject("text1")
>ccolumn.AddObject("myspinner
>1","myspinner")
>ccolumn.myspinner1.visible = .T.
>case type(ccolumn.controlsource) = "L"
>ccolumn.RemoveObject("text1")
>
>ccolumn.AddObject("mycheck1","mycheck")
>ccolumn.mycheck1.visible = .T.
>otherwise
>cColumn.RemoveObject("text1")
>ccolumn.AddObject("mytext1",
>"Mytext")
>ccolumn.mytext1.visible = .T.
>endcase
>ENDFOR
>
>Of course you must have already created a header class with something like
>the following:
>
>DEFINE CLASS MyHeader AS Header
>PROCEDURE click
>blah, blah, blah
>ENDPROC
>ENDDEFINE
>
>You probably have something like this already laid out, but I thought I'd
>offer my solution to see if it gave any ideas. It might seem like jumping
>through hoops to get a simple outcome, but this class can be dropped on a
>form and VFP takes care of column sizing and controlsources for you. HTH
Yeah - that's it. I've almost come to it (written half of it already)
and just missed the idea of putting the connection to the datatype into
it. You've found the Missing Link :)