>Hi Cetin,
>
>user : when the horizontal or vertical scroll bars are clicked or a scroll box is moved;
>
>program : call multiple DoScroll.
>
>in this cases ActiveRow not change, but if it go out grid area, relativeRow is 0;
>
>when i refresh or update recordSource, grid put ActiveRow on grid Area.
>
>I want return to past status.
>
>Example:
>
>* cursor with 1000 records
>* grid area with exactly 21 rows visible ( no partial row at end )
>
>* recordSource = 'cursor'
>* ActiveRow and RelativeRow are 1.
>* VisibleRowRange is 1-21
>
>* repeat command DoScroll(3) for 10 times
>* ActiveRow = 1
>* RelativeRow = 0
>* VisibleRowRange is 181-201
>
>* refresh
>I want have visibleRowRange 181-201
>
>Fabio
Do not refresh then. I still don't understand what you want. Before refresh, visibleRowRange is 181-200 and activeRow = 1, relativeRow=0. So what ? Make row 181 active ? If so activatecell(1,1).
Cetin