Implement OnScrollFinish event that is fired at the end of the scrolling process.
For example we need to adjust some elements of interface on record change, even perform an aditional sql query or other heavy calculations.
For example, if user scroll fast over 20 records in a grid, relying on AfterScroll event imply a lot of unused work. So instead executing it 20 times, we may do this once after scroll process is finished.
In fact, such kind of logic in *Dac already have it on Master/Detail "wait" magic, so it's not too much to change to have this kind of event implemented.
when I know it will be read several records , like the dev -express the grid that runs through all the lines for calculations of columns , I always turn off the AfterScroll and religo at the end
query.afterscoll : = nil ;
query.afterscroll : = queryafterscroll ;
I find this type of functionality very important. Many times I would prefer to use the AfterScroll type of facility to not only create a master detail relationship, but also fill in other details, or lookups when moving to new records. I always want to see as much control over tables and lookups. I work with many large data sets in the hundreds of thousands of records and it is critical to always limint the number of records returned small for good response time.