>I have a form where I'm adding a pair of grids (each on a separate page) dynamically. The underlying data gets updated based on a timer, and when it does, I need to repaint the grids. I've got all that working, but ... although I restore the record pointer to its original position, the customer is unhappy about the grid scrolling on the refresh. Is there a way to restore it to the same visual position?
>
>I've been assuming that what I need to do is:
>
>a) store info about which row was the top row displayed and then
>b) do something to make that one the top displayed row again.
>
>But I'm not having any success at part a. I tried adding a property to track the top displayed and updating it (tried RelativeRow_Assign, but it doesn't even fire, so put code in AfterRowColChange and Scrolled), but of course, when the user scrolls so that the ActiveRow is no longer visible, that code fails.
>
>Anybody know how to do this?
>
>Tamar
There is a nice trick based on playing with the height posted by Walter Meester a while back.
If it's not broken, fix it until it is.
My Blog