Hi!
Well, setting focus to grid and returning it back causes a lot of additional events firing (that also might cause slow down of refresh), and it has a lot of nusiances (like you mentioned in this message). It is much better to do not use DoScroll approach in such case, but just use additional refresh with cleared up Dynamic* properties, like in the FAQ article. Anyway, it is up to you.
>Hi!
>this message is only to be complete with the task
>
>for more general work change
>
>...
> IF VARTYPE(THIS.ACTIVECONTROL)=T_Object AND !ISNULL(THIS.ACTIVECONTROL) THEN
> loControl = .ACTIVECONTROL
> ENDIF
>...
>
>
>with
>
>
>...
> IF TYPE('APPLICATION.ACTIVEFORM')=T_Object;
> AND !ISNULL(APPLICATION.ACTIVEFORM);
> AND TYPE('APPLICATION.ACTIVEFORM.ACTIVECONTROL')=T_Object;
> AND !ISNULL(APPLICATION.ACTIVEFORM.ACTIVECONTROL) THEN
> loControl = APPLICATION.ACTIVEFORM.ACTIVECONTROL
> ENDIF
>...
>
>
>My initial
VARTYPE is wrong approach for that, it will fail.
>
>
APPLICATION.ACTIVEFORM is only important if more than one form is working (let's say synchronised working)
>
>Agnes
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.